Guten Tag
Mein Problem liegt darin, dass wenn ich eine TimerTask-Klasse über einen Timer laufen lasse, dieser zum ersten Mal ausgeführt wird, dann aber erst nach doppelter Intervall-Zeit gerade 2x durchläuft.
Mein Problem liegt darin, dass wenn ich eine TimerTask-Klasse über einen Timer laufen lasse, dieser zum ersten Mal ausgeführt wird, dann aber erst nach doppelter Intervall-Zeit gerade 2x durchläuft.
Java:
public class MyTimer {
// Hashtable für die Timer
public static Hashtable<String,Timer> Timers = new Hashtable<String,Timer>();
// Objekt für die auszuführende Klasse
private static Object Schedule = new Object();
// Temporären Timer() erstellen
private static Timer tempTimer = new Timer();
/* Code */
public static String startJob(String sID) {
// Klasse dynamisch aus dem Datenbankeintrag aufrufen
Schedule = Class.forName(sClass).getConstructor(String.class,String.class).newInstance(sID);
// Neuer Timer() in der HashTable erstellen
Timers.put(sID, new Timer());
// Timer aus der Hashtable holen und in den temp. Timer stecken
tempTimer = (Timer)Timers.get(sID);
// Den Job schedulen
iIntervall = iIntervall*60000;
tempTimer.scheduleAtFixedRate((TimerTask)Schedule, date, Long.valueOf(iIntervall));
/* Code und exception-handling usw... */
}
}