Wie man überlappende Zeitpläne im Frühjahr verhindern?
-
21-12-2019 - |
Frage
Wie kann ich verhindern, dass dieser Spring-Job läuft, wenn die vorherige Routine noch nicht abgeschlossen ist?
Lösung
mit fixedDelay
wird der Zeitraum nach dem Abschluss des Jobs gemessen, also keine Sorgen.
Andere Tipps
Standardmäßig verwendet der Feder einen Single-Thread-Executor. So überlappen sich also keine zwei @ geschmissene Aufgaben. Sogar zwei @ geschmissene Methoden in vollständig unabhängigen Klassen überlappen sich nicht einfach, da
Außerdem, wenn Sie den Standard-Executor durch einen Ausleiter von Thread Pool ersetzen, verzögern diese Experten normalerweise die Ausführung einer Taskinstanz, bis die zuvor geplante Instanz abgeschlossen ist. Dies gilt für
Hier ist das javaDoc für scheduledthreadpooledecutor :: speduleatfixedrate welche gibt an:
Wenn eine Ausführung dieser Aufgabe länger als seine Periode dauert, können anschließende Ausführungen spät starten, sondern nicht gleichzeitig ausgeführt werden.
Hinweis: Diese Funktionalität gilt nicht für