Hallo,
ich benötige in meinen Klassen sehr oft zyklisches und vezögertes Aufrufen von Methoden oder Anweisungen.
Soweit habe ich es:
Wenn "status" true ist, den bereits laufenden Timer abbrechen.
Wenn "status" false ist, den Timer starten, falls er noch nicht läuft.
Wenn die Instanz der Klasse aber beendet wird, muss ich ja mit:
executor.shutdownNow();
alle eventuell laufenden Timer abbrechen, oder?
Gibt es eine Methode, die ich aufrufen kann, wenn die Instanz der Klasse wieder beendet wird?
Danke!
ich benötige in meinen Klassen sehr oft zyklisches und vezögertes Aufrufen von Methoden oder Anweisungen.
Soweit habe ich es:
Java:
private ScheduledFuture<?> runningFailed;
private ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
/**
*
* @param status
*/
public void Running(boolean status) {
if (status) {
// prüfen ob Timer läuft. Wenn ja, abbrechen
if (runningFailed != null) {
runningFailed.cancel(true);
runningFailed = null;
}
// Nachricht prüfen und abmelden
if (msgNotRunning != null) {
delMessage(visuId, msgNotRunning);
msgNotRunning = null;
} else {
// Timer läuft bereits
if (runningFailed != null) {
return;
}
// Timer erzeugen
runningFailed = executor.schedule(new Runnable() {
public void run() {
sendMessage(msgNotRunning, "App " + appName
+ " ist nicht gestartet", 5000,
FoxMessage.SEVERITY_FATAL, false);
}
}, runningDelayMs, TimeUnit.MILLISECONDS);
}
}
}
Wenn "status" true ist, den bereits laufenden Timer abbrechen.
Wenn "status" false ist, den Timer starten, falls er noch nicht läuft.
Wenn die Instanz der Klasse aber beendet wird, muss ich ja mit:
executor.shutdownNow();
alle eventuell laufenden Timer abbrechen, oder?
Gibt es eine Methode, die ich aufrufen kann, wenn die Instanz der Klasse wieder beendet wird?
Danke!