Java Java Framework für Cronjob-Funktionalität

Danny787

Ensign
Registriert
Jan. 2007
Beiträge
180
Hallo zusammen,

wie dem Titel schon zu entnehmen bin ich auf der Suche nach einem Java-Framework mit Cronjob-Funktionalität. Ich habe eine Methode, die einen HttpRequest bei einem Webserver anfordert (LSF unserer Hochschule) um zu überprüfen, ob z.B. neue Prüfungsergebnisse hochgeladen wurden. Wenn ja wird der Benutzer der App darüber benachrichtigt. Nur suche ich eine Möglichkeit, um diese Methode in definierten, zyklischen Abständen (z.b. jede Stunde) automatisch aufrufen zu lassen.

Kann mir da vielleicht Jemand weiterhelfen?

Vielen Dank schon mal im Voraus :-)
 
Such nach "Job Scheduler in Java" da solltest du einiges finden ;)

Soll das eine Android-App sein? oder PC-Anwendung?
 
Code:
while( true )
{
    bla
    bla
    bla

    try
    {
        Thread.sleep( TimeUnit.HOURS.toMillis( 1 ) )
    }
    catch( InterruptedException )
    {
    }
}

so etwas würde doch auch reichen.
 
Dann würde ich mal an deiner stelle suchen ob das Android-SDK etwas geeignetes hergibt.
Bin kein Android-Entwickler (Entwickle nur JAVA für Desktop und Web).
Habe jetzt mal kurz gegoogelt und es scheint so als ob viele es mit dem "Alarm Manager Service" von Android realisieren würden.

Wenn du kurz googelst findest du da eine Lösung der Suchbegriff wäre "Job Scheduling in Android"

hier mal ein Ergebnis

http://blogs.globallogic.com/job-scheduling-in-android

@BadMadMax

Naja wenn es eine Laufzeitanwendung ist und sie die Daten im Hintergrund holen soll ist sleep zwar zielführend aber ungeeignet weil es verdammt Ressourcen fressend ist.
 
Zuletzt bearbeitet:
Danke iDave, der AlamManager schaut schon mal gar nicht schlecht aus :)
 
@iDave

Da muss ich höflichst widersprechen. ;D

Using Threads sleep method. (Not recommended)
Using java.util.Timer and java.util.TimerTask(We may use this as well)
Using Alarm Manager Service (Recommended)

Habe mit Android auch noch nichts gemacht. Sollte die App von außen angestoßen werden kenne ich mich wie gesagt in Android nicht aus.
Ist dem aber nicht so gibt es wohl nichts besseres/Ressource schonendes als eine eigen Konstruktion mit "Sleep"! Sonnst aber reichst du
die Arbeit nur über teure Methoden Aufrufe einfach an jemanden weiter. Die nächste Sache die empfohlen wird ist "TimerTask" was
wenn man sich die Sourcen anschaut ein noch größerer Blödsinn ist. ( Das alles natürlich nur wenn man von Ressourcen schonend spricht )
 
Wie schon gesagt wurde benutzt man hierfür üblicherweise einen AlarmManager mit setRepeating auf elapsed_realtime. Hierfür muss die Zielanwendung gar nicht laufen, sondern wird bei Bedarf dann gestartet.
 
Oder halt Quartz: http://quartz-scheduler.org/
Ergänzung ()

ok, quartz geht nicht. Die Quartz-Leute sagen selbst zu Quartz mit Android:
Probably wouldn't work out too well, due to the way application threads are treated for Android apps.

Background threads are supposed to be defined as Services, and regular threads created by the app are generally paused / not given cpu time when the application isn't active (on of its Activities aren't displayed) - which means Quartz wouldn't be firing triggers when the time arrives...
 
Zurück
Oben