Bei Geschäftsanwendungen wird häufig eine zeitgesteuerte Ausführung (Scheduling) von Aufgaben benötigt, wie beispielsweise das regelmäßige Abrufen eines Email-Kontos. Dabei unterscheidet man beim Scheduling prinzipiell zwischen zwei Arten:
- eine Aufgabe zu einem bestimmten Zeitpunkt ausführen (z.B.: am 24.12.2012, um 18:00 Uhr)
- Aufgaben in festgelegten zeitlichen Abständen wiederholt ausführen (z.B.: alle 20 Minuten)
Für Scheduling können wir im Java-Umfeld die Timer-Klassen (java.util.Timer
+ java.util.TimerTask
) des JDKs benutzen oder eine Bibliothek einsetzen, wie den sehr mächtigen Quartz-Scheduler. Falls man allerdings in seiner Anwendung Spring 3 verwendet, sollte man sich auf jeden Fall dessen Möglichkeiten anschauen (Spring-Dokumentation: Task Executing and Scheduling):
- Scheduling mit
TaskScheduler
undRunnable
-Objekt - Scheduling mit Hilfe des Task-Namespaces von Spring
- Scheduling aufgrund der Spring Scheduling-Annotations