2009-09-30 12 views

Antwort

29

Quartz ist die bekanntesten Lösungsprozesse in Java-Umgebungen planen, aber Sie haben eine Menge von Optionen. Überprüfen Sie diese Liste:

Quartz ist ein Open-Source-Job-Scheduling-System, das mit praktisch jeder J2EE oder J2SE-Anwendung integriert oder verwendet werden kann. Quartz kann verwendet werden, um einfache oder komplexe Zeitpläne zu erstellen.

Jcrontab wurde entwickelt, um mit jedem Projekt erweitert und integriert zu werden. Liest und speichert die Aufgaben, die in einer Datei, einer Datenbank oder einem EJB ausgeführt werden sollen, und stellt eine Web-Benutzeroberfläche und eine grundlegende Swing-GUI bereit.

Essiembre J2EE Scheduler ist ein einfacher Task-Scheduling-Mechanismus für J2EE-Anwendungen. Diese Bibliothek kann als Wrapper für die Timer- und TimerTask-Klassen in der Standard-Java-API betrachtet werden. Konfiguration für auszuführende Aufgaben und deren Häufigkeit ist XML-basiert.

cron4j ist ein Scheduler für die Java 2-Plattform, der dem UNIX-Cron-Daemon sehr ähnlich ist.

Oddjob Ziel ist es, eine gewisse Ordnung und Sichtbarkeit für alle Batch-Dateien und Cron-Jobs bereitzustellen, die die kritischen Geschäftsprozesse eines Unternehmens miteinander verbinden.

Fulcrum Scheduler bietet einen Scheduler-Service. Es basiert auf dem mit Turbine gelieferten TurbineScheduler, aber alle älteren Sachen wurden entfernt. Derzeit ist NUR der nicht persistente Scheduler erledigt. Es lädt geplante Jobs aus der XML-Datei der Komponentenkonfiguration.

Gos4j -Goal Oriented Scheduling für Java - ist eine Möglichkeit, Verarbeitungsprioritäten basierend auf Zielen zu organisieren.

Job Scheduler ist ein Stapelprogramm, das als Dämon arbeitet und über eine grafische Benutzeroberfläche gesteuert werden kann. Der Job Scheduler verwendet eine XML-Konfiguration für die geplanten Programme, Skripte und für das Timing und die Häufigkeit der Aufgabenverarbeitung. Es steht eine API zur Verfügung, über die Ereignisse gesteuert und in Ihren Jobs protokolliert werden können.

JDRing ist eine einfache Java-Planungsbibliothek, die einfach und klein ist, aber das Klingeln von Alarmen in bestimmten Intervallen, als einmalige Ereignisse oder in komplexen Zeitplänen mit voller cron-ähnlicher Steuerung unterstützt.

jBatchEngine ist ein Batch-Job-Spooler in Java geschrieben. Im Gegensatz zu zeitgesteuerten Schedulern wie Cron ist jBatchEngine ereignisgesteuert.

MyBatchFramework ist ein Open-Source-Framework mit geringem Gewicht, mit dem einfach zu verwaltende Batch-Programme in Java erstellt werden können.

Super with SuperScheduler and SuperWatchdog ist ein Java-Job-Scheduler mit Rich-GUI für alle Anwendungen. Es ist plattformneutral. Besonders gut als Job Scheduler für Linux und Solaris. Es bietet eine Reihe von Funktionen des Schedulers von Microsoft Windows. Es bietet eine ereignisgesteuerte Planung. Es kann Aufgaben in einer verteilten Umgebung planen. Eine Task wird einmalig und einmalig von allen Maschinen im Netzwerk ausgeführt. Alle Aufgaben sind Ferien einstellbar. Selbst jeder Job ist ein STANDBY-Job, die Geschichte wird eine gute Spur für wichtige Aufgaben sein. Es unterstützt die Internationalisierung.

Quelle: Open Source Job Schedulers in Java

4

Schauen Sie in TimerTask und Timer - beide sind in dieser Version des JDK.

Timer : 
public void schedule(TimerTask task, Date firstTime, long period) 
public void scheduleAtFixedRate(TimerTask task, Date firstTime, long period) 

Legen Sie es auf das erste Datum, das Sie wollen, dann die Anzahl der Millisekunden an einem Tag als Ihre Verzögerung.

3

Können Sie eine Bibliothek wie cron4j verwenden? Es wird Ihre Arbeit viel einfacher machen!

+0

dies eine Möglichkeit, scheint wie, ob diese Bibliothek abhängig werden darf –

+0

Ich Sekunde, um diesen Vorschlag verwendet werden - cron4j ist eine Freude, und wirkt wie ein Zauber, ist viel einfacher als Quartz (das funktioniert auch, es ist einfach ziemlich groß und oft mehr als du wirklich brauchst; und hat einige Knicke für einfachere Anwendungsfälle) – StaxMan

1

Sie haben verwenden Quartz

Ich habe nie wissen, wer Quartz startet zwar an erster Stelle.

Wenn Sie einen Anwendungsserver oder ein ähnliches Artefakt haben, können Sie den Quartz-Auftrag dort konfigurieren und die Aufgabe zum angegebenen Zeitpunkt ausführen lassen.

+3

Quarz hat viele ausgefallene Features, also wenn deine Anforderungen aufwendig sind, kann es eine gute Wahl sein . Aber wenn Sie ein einfaches "fire dies um 5:00 jeden Tag" haben, würde ich nur Timer verwenden. – Jay

2
  • Java-Timer können in Intervallen, vordefinierten Zeiten usw. einen beliebigen Job ausführen.
  • Bibliothek
  • Wenn Sie wirklich nackt sein wollen, wickeln Sie es in ein Shell-Skript und fügen Sie in Cron.
0

Vielleicht, dass kürzlich erschienener Beitrag helfen Ihnen:

Will this pause my Java thread for a minute?

Meine Antwort auf diese Frage ist ein Java-Implementierung in gebaut verwendet basierend auf java.util.Time und java.util.TimerTask Klassen: Will this pause my Java thread for a minute?

Oder Sie können den Crontab-Dienst für * nix-Plattformen verwenden (auch für Windows-Plattformen verfügbar). Das ist der einfachste und leichteste Stil, um einen eigenständigen Job regelmäßig auszuführen.

[] 's,

Und Vergangenheit

+0

Schnelle crontab wie: http://www.crontabrocks.org/ [], und Vergangenheit – apast

Verwandte Themen