Kleine Helfer

Quartz - Cronjobs für Java-Projekte

Diego Wyllie hat Wirtschaftsinformatik an der TU München studiert und verbringt als Softwareentwickler und Fachautor viel Zeit mit Schreiben – entweder Programmcode für Web- und Mobile-Anwendungen oder Fachartikel rund um Softwarethemen.
Mit dem quelloffenen Framework "Quartz Enterprise Job Scheduler" lassen sich zeitgesteuerte Aufgaben effizient in Java-Anwendungen implementieren.
Job Scheduling für immer wiederkehrende Aufgaben - in Java-Projekten eignet sich dafür der Quartz Enterprise Job Scheduler.
Job Scheduling für immer wiederkehrende Aufgaben - in Java-Projekten eignet sich dafür der Quartz Enterprise Job Scheduler.

Wöchentliche Statistiken automatisch generieren, Dateien zu bestimmten Zeiten von FTP-Servern herunterladen oder jeden Montag um 19 Uhr einen Newsletter versenden: Viele wiederkehrende Aufgaben müssen in bestimmten Zeitintervallen automatisch ausgeführt werden. Um solche Anwendungsfälle in Java-Projekten einfach zu implementieren, können Entwickler auf ein hochwertiges Framework zurückgreifen, das bereits in namhaften Softwareprodukten wie Spring oder JBoss eingesetzt wird - den "Quartz Enterprise Job Scheduler".

Das Framework wird verwendet, um einfache, aber auch komplexe Zeitpläne für wiederkehrende Aufgaben (Jobs) zu erstellen und diese dann entsprechend auszuführen. Jobs können beliebige Java-Klassen sein, sie müssen nur das Job-Interface implementieren. Die Zeitpläne beruhen im einfachsten Fall auf Kalendereinträgen, etwa "jeden Mittwoch um 12.00", lassen sich aber bis ins Detail vom Anwender selbst definieren. So kann man beispielsweise einen Job implementieren, der am folgenden Freitag um 18.00 Uhr gestartet und dann 100-mal im Abstand von zwei Stunden wiederholt werden soll.

Entwickelt wurde das quelloffene Job-Scheduling-System von der Firma Open Symphony. Ende 2009 wurde das Tool vom Java-Clustering-Spezialisten Terracotta übernommen, der es aber nach wie vor als Open-Source-Projekt unter der Apache-Lizenz 2.0 zur Verfügung stellt.

CW-Fazit

Mit Quartz erhalten Java-Entwickler einen umfangreichen Werkzeugkasten, mit dem sich beliebige Cronjobs realisieren lassen. Das Framework gilt als ausgesprochen robust und stabil und kann sowohl in Desktop-Anwendungen als auch in kritischen J2EE-Systemen eingesetzt werden.