Quartz (Framework)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Quartz
QuartzEJS.png
Maintainer Terracotta[1]
Entwickler Terracotta
Aktuelle Version 2.1.1
(14. November 2011)
Betriebssystem plattformunabhängig
Programmier­sprache Java
Kategorie Framework
Lizenz Apache-Lizenz 2.0
www.quartz-scheduler.org

Quartz ist ein quelloffenes Framework für die Steuerung von Jobs in Java. Quartz wird verwendet um einfache, aber auch komplexe Zeitpläne für die Ausführung von beliebig vielen Jobs in Java zu erstellen und diese dann auszuführen. Die Version 1.0 kam am 13. September 2002 heraus, die letzte Version 2.1.0 am 23. September 2011.

Inhaltsverzeichnis

[Bearbeiten] Eigenschaften

Die mit Quartz definierten Zeitpläne können mittels CronTrigger auf Kalendereinträgen beruhen (zum Beispiel "0 0 12 ? * WED" bedeutet "jeden Mittwoch um 12:00"), oder mittels SimpleTrigger auf durch Date definierten Startzeitpunkten und mittels Millisekunden Abständen und Wiederholungsanzahlen definierten Wiederholungen (zum Beispiel "um 12:00 nächsten Mittwoch und dann 5 Mal in 10 Sekunden Abständen") Mittels Calender können für die Zeitpläne Ausnahmen definiert werden (zum Beispiel "nicht an Wochenenden und Feiertagen").

Die durch die Quartz Zeitpläne gesteuerten Jobs können in einer J2EE Umgebung als verteilte XA Transaktionen laufen. Somit kann sichergestellt werden dass Jobs entweder korrekt durchgelaufen sind oder gar nicht. Jobs können beliebige Java Klassen sein, sie müssen nur das Job Interface implementieren. Eventuelle JobListeners und TriggerListeners werden von der Ausführung (und anderen Ereignissen) von Jobs benachrichtigt. Jobs und ihre Trigger können persistiert werden - d.h. auch wenn die Quartz ausführende Applikation gestoppt wird bzw. die Hardware ausfällt, werden Jobs nach neuerlichem Anlaufen von Quartz bei Bedarf wieder gestartet.

[Bearbeiten] Verwendung

Lt. Quartz Homepage wird Quartz von vielen tausenden Firmen (u.A. Vodafone und Verteidigungsministerium der Vereinigten Staaten) und Frameworks bzw. Softwareprodukten (zum Beispiel Jakarta-Projekt, Jira und -Confluence, Spring, Liferay Portal, JBoss) eingesetzt. Quartz 1.6.0 wurde direkt von der Quartz Homepage mehr als 100.000 Mal heruntergeladen.[2]

[Bearbeiten] Vergleich mit anderen Frameworks

  • Java Timer und TimerTask Klassen - bieten nur grundlegende Scheduling Funktionen, aber zum Beispiel keine Persistenz, unflexibles Scheduling (nur Startzeit und Intervall), kein Threadpooling (d.h. Ressourcenproblematik), etc.
  • cron (und Java cron Frameworks) - bieten einen der in Quartz verwirklichten Scheduling Mechanismen, nicht aber weiterführende Funktionalität wie Job-Persistenz, Transaktionen oder Job-Listeners und -Plug-Ins
  • Flux - kommerzielle Software, bietet eine Reihe von weiterführenden Funktionalitäten wie E-Mail-Benachrichtigungen, File Transfer, grafischer Workflow Designer. [3]

[Bearbeiten] Literatur

[Bearbeiten] Weblinks

[Bearbeiten] Quellennachweis

  1. Terracotta Announces Acquisition of Quartz, the Leading Open Source Scheduling Software (englisch)
  2. http://quartz-scheduler.org/docs/quartz_users.html Quartz Users
  3. http://www.fluxcorp.com/products/flux/technical/quartz.html Flux or Quartz auf der Flux Homepage
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Navigation
Mitmachen
Drucken/exportieren
Werkzeuge
In anderen Sprachen