Frage

Wie kann ich eine Aufgabe täglich zu einer bestimmten Zeit (etwa 11.00 Uhr) mit java.util.Timer laufen? Ich bin mit JDK 1.4.2, ich weiß, es ist alt, aber es ist, was das Projekt erfordert.

War es hilfreich?

Lösung

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

Quartz ist ein Open Source Job-Scheduling-System, das integriert werden kann mit oder an der Seite von praktisch jeder J2EE oder J2SE Anwendung verwendet. Quarz kann verwendet werden, um einfache oder komplexe Zeitplan zu erstellen.

Jcrontab ist so konzipiert, mit jedem Projekt erweitert und integriert werden. Liest und speichert die Aufgaben in einer Datei auszuführen, eine Datenbank oder einen EJB und bietet eine Web-Oberfläche und eine grundlegenden Swing GUI.

Essiembre J2EE Scheduler ist ein einfacher Task-Scheduling-Mechanismus für J2EE-Anwendungen . Diese Bibliothek kann einen Wrapper um die Timer und Timertask-Klassen in dem Standard-Java-API gefunden in Betracht gezogen werden. Konfiguration für Aufgaben ausgeführt werden und ihre Frequenz ist XML-basiert.

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

Oddjob 's Ziel ist es eine gewisse Ordnung und Sichtbarkeit auf alle Batch-Dateien und cron-Jobs zu schaffen, die zusammen eines Unternehmens kritischen Geschäftsprozesse zu binden.

Fulcrum Scheduler stellt einen Scheduler-Service . Es basiert auf den TurbineScheduler mit Turbine zur Verfügung gestellt, aber alle älteren Sachen entfernt wurden. Derzeit werden nur die nicht persistent Scheduler erfolgt. Es lädt geplante Aufträge von der Komponente Config XML-Datei.

Gos4j -Goal Oriented Scheduling für Java- ist eine Möglichkeit, Organisation von Bearbeitungsprioritäten auf Basis von Zielen.

Job Scheduler ein Batch-Programm ist als Dämon arbeitet, und kann über eine grafische Benutzerschnittstelle gesteuert werden. Der Job Scheduler verwendet eine XML-Konfiguration für die geplanten Programme, Skripte und für den Zeitpunkt und Häufigkeit der Aufgabenverarbeitung. Eine API ist, dass die Hände Kontrolle über die Ereignisse und Protokollierung Ihre Jobs zur Verfügung.

JDRing ist eine leichte Java Scheduling-Bibliothek, die einfach ist und klein, aber immer noch unterstützt Alarme in bestimmten Intervallen als einmalige Ereignisse oder auf komplexe Zeitplan mit voller cron-ähnlicher Steuerung zu läuten.

jBatchEngine ist ein Batch-Job-Spooler in Java geschrieben. In constrast zu Zeit angetrieben Disponenten wie Cron ist jBatchEngine ereignisgesteuert.

MyBatchFramework ist ein Open-Source-Leichtbaurahmen entwickelt, um einfach erstellen robust und überschaubar Batch-Programme in der Programmiersprache Java.

super mit SuperScheduler und Superwächter ein Java ist Job-Scheduler mit reichem GUI für alle Anwendungen. Es ist plattform neutral. Besonders gut ein Job-Scheduler für Linux und Solaris zu sein. Es bietet ein Super-Set von Funktionalitäten des Schedulers von Microsoft Windows. Es bietet ereignisgesteuerte Scheduling. Es kann in einer verteilten Umgebung Aufgaben planen. Eine Aufgabe wird einmal ausgeführt und nur einmal bei allen Maschinen im Netzwerk. Alle Aufgaben sind Urlaub einstellbar. Auch jeder Job ein Standby-Job ist, wird die Geschichte eine gute Spur für wichtige tas seinks. Es unterstützt Internationalisierung.

Quelle: Open Source Job Scheduler in Java

Andere Tipps

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)

es Stellen Sie die erste Datum Sie dann die Anzahl der Millisekunden ausgeführt werden soll an einem Tag als Verzögerung.

Ist es möglich, dass Sie eine Bibliothek zu verwenden, wie zum Beispiel cron4j ? Es wird Ihre Arbeit viel leichter machen!

  • Java Timer kann einen beliebigen Job in Intervallen, im Voraus festgelegten Zeiten, etc.etc ausgeführt werden.
  • Quartz Bibliothek
  • Wenn Sie wirklich nackte Knochen darüber, wickeln Sie es in einem Shell-Skript und setzen in in cron.
  • sein wollen

Sie haben benutzen Quartz

Ich habe nie wissen, wer Quartz obwohl in erster Linie gestartet wird.

Wenn Sie einen Anwendungsserver oder ähnlichen Artefakt haben, können Sie den Quartz Job dort konfigurieren und haben es Ihre Aufgabe in der vorgegebenen Zeit ausgeführt werden.

Vielleicht, dass kürzlich erschienener Beitrag hilft Ihnen:

Wird diese Pause meines Java-Thread für eine Minute?

Meine Antwort auf diese Frage ist ein Java-Implementierung in gebaut verwendet basierend auf java.util.Time und java.util.TimerTask Klassen: Wird diese Pause meines Java-Thread für eine Minute?

Alternativ können Sie den crontab-Service für * nix-Plattformen (verfügbar für Windows-Plattformen auch). Das ist die einfachste und leicht Stil regelmäßig einen eigenständigen Auftrag ausgeführt werden.

[] 's,

Und Vergangenheit

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top