zyklisch Bsp. 1x pro Tag - morgens Task ausführen

Status
Nicht offen für weitere Antworten.
Hi,
was bietet sich am besten für eine zyklische Abarbeitung einer auszuführenden Aufgabe an?
TimerTask ist bekannt, allerdings dabei das Problem, dass ab dem Startzeitpunkt eine Stoppuhr läuft und nicht zu einem vorgegebenen Zeitpunkt die Aufgabe ausgeführt wird.
Danke für die Tipps.
lg
 
in java? --> sollte aber unter linux auch laufen!
meinst Du mit "unter windows" die funktion zum aufrufen einer applikation: Geplante Tasks?
Ich suche eher nach einer Möglichkeit, dies in Java zu implementieren!
 

DP

Top Contributor
jou, das meinte ich... kannst dir aber auch einen thread basteln, der bei uhrzeit x entsprechend reagiert...
 

semi

Top Contributor
christophersn hat gesagt.:
Hi,
was bietet sich am besten für eine zyklische Abarbeitung einer auszuführenden Aufgabe an?
TimerTask ist bekannt, allerdings dabei das Problem, dass ab dem Startzeitpunkt eine Stoppuhr läuft und nicht zu einem vorgegebenen Zeitpunkt die Aufgabe ausgeführt wird.
Danke für die Tipps.
lg
Schau Dir die Methoden von Timer noch mal an. Es gibt für alle Fälle eine Methode.
 
bei meiner Timer-Klasse - Standard API - finde ich keine Methode, die etwas in die Richtung unterstützt! Lediglich in der TimerTask Klasse gäbe es die Möglichkeit mittels Date-Objekt.
Bitte um Aufklärung!
thx
 

Sky

Top Contributor
christophersn hat gesagt.:
bei meiner Timer-Klasse - Standard API - finde ich keine Methode, die etwas in die Richtung unterstützt! Lediglich in der TimerTask Klasse gäbe es die Möglichkeit mittels Date-Objekt.
Bitte um Aufklärung!
thx
Du bist doch auf dem richtigem Weg... wobei möchtest Du nun noch aufgeklärt werden??
 
Das Problem beim Date-Objekt ist, dass die Methode run() aus TimerTask, bei bereits abgelaufener Zeit, im vorgegebenen Intervall "nachgeholt" wird. d.h. ich muss genau wissen, ab wann ich diese Aufgabe durchführen lassen will!

Bsp. Ich möchte ab 8 Uhr morgens, alle 5 Minuten "irgendwas" machen. Wenn ich nun um 13 Uhr Mittag das Programm starte, werden alle vergangenen und noch nicht stattgefundenen Intervalle nachgeholt, also 60 mal!

Wie kann ich das verhindern?
 

semi

Top Contributor
Du legst das Startdatum/zeit fest und beim Ausführen des Tasks
startest Du es erneut, mit der gleichen Uhrzeit + 5 Minuten.
Code:
...
TimerTask task = new TimerTask() {
  public void run()
  {
    startzeit.set(Calendar.MINUTE, startzeit.get(Calendar.MINUTE)+5);
    timer.schedule(this, startzeit.getTime());
    doTheJob();
  }
};

timer.schedule(task, startzeit.getTime()); // startzeit ist ein Calendar-Objekt
...
 

Sky

Top Contributor
Zusätzlich könnte Dir eine Abfrage helfen, die in etwa so aussieht:
Code:
WENN aktuelleZeit vor 8 Uhr
DANN startzeit gleich 8 Uhr
SONST startzeit = aktuelleZeit + 5 Minuten
 
semi danke!

bin aber darauf gekommen, dass ich ohnehin nur 1x pro Tag diese Aufgabe ausführen muss, kann also auch anders erfolgen!

was mich aber noch interessiert:
kann ich dieses Calendar Objekt selbst mit Werten füllen oder wird das beim anlegen automatisch aus der Systemzeit erzeugt?
 

Bleiglanz

Gesperrter Benutzer
willst du wirklich ein java Programm durchlaufen lassen und einmal am tag aufwecken?

kannst du nicht die Fähigkeiten des Betriebssystems nutzen (Cron, Scripting Host, usw.) um ein bestimmtes java programm einfach "regelmässig" zu starten??
 
@bleiglanz: will das ganze eher direkt in java realisieren

@deathbyaclown: thx, war einfach mal wieder zu faul zum lesen! .getInstance(); hilft mir da schon sehr weiter! lg
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S InternetExplorer mit URL öffnen und diese zyklisch wechseln Allgemeine Java-Themen 6
J Eine Frage zu den Threads und Task Allgemeine Java-Themen 1
S Java-Task-Management-Tool für Windows und Mac selber programmieren Allgemeine Java-Themen 4
J Probleme exe-Start mit Task Scheduler Allgemeine Java-Themen 1
Neumi5694 Task-Name unter Windows Allgemeine Java-Themen 4
K Multithreading: Service(Task), wait und continue Allgemeine Java-Themen 21
HarleyDavidson Tomcat VS Windows Scheduled Task Allgemeine Java-Themen 4
M Ant relative Pfade im Classpath vom Jar-Task Allgemeine Java-Themen 2
B Threads Main Thread warten auf abgebrochen Task warten lassen Allgemeine Java-Themen 25
N class Task extends TimerTask ohne Blockieren Allgemeine Java-Themen 15
A wie kann man Parameter an ein Task übergeben? Allgemeine Java-Themen 3
M Ant & javadoc-Task Allgemeine Java-Themen 1
R ANT Jar Task soll leere Verzeichnisse ignorieren..? Allgemeine Java-Themen 3
E Timer - gleichen Task mehrfach planen Allgemeine Java-Themen 2
A TimerTask - Task stoppen - timer.cancel() funktioniert nicht Allgemeine Java-Themen 8
G Task 1 sek nach letztem Tastendruck ausführen Allgemeine Java-Themen 2
M Java Programm als Windows XP - Task Allgemeine Java-Themen 9
D javaw.exe in task manager Allgemeine Java-Themen 6
B 24 Uhr Timer Task Allgemeine Java-Themen 5
J Timer-Objekt / Task-Zustand ermitteln Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben