2009-09-30 35 views

回答

29

石英是最知名的解決方案來安排在Java環境的過程,但你有很多選擇。檢查此列表:

Quartz是一個開放源代碼作業調度系統,可以與幾乎任何J2EE或J2SE應用程序集成在一起使用,或與其一起使用。 Quartz可以用來創建簡單或複雜的時間表。

Jcrontab設計用於擴展和與任何項目集成。讀取並存儲要在文件,數據庫或EJB中執行的任務,並提供Web UI和基本的揮杆GUI。

Essiembre J2EE Scheduler是J2EE應用程序的簡單任務調度機制。這個庫可以被認爲是標準Java API中的Timer和TimerTask類的封裝。要執行的任務的配置及其頻率是基於XML的。

cron4j是Java 2平臺的調度程序,它與UNIX cron守護進程非常相似。

Oddjob的目標是爲所有批量文件和cron作業提供一些命令和可見性,從而將企業的關鍵業務流程聯繫在一起。

Fulcrum Scheduler提供調度程序服務。它基於Turbine提供的TurbineScheduler,但所有舊的東西都已被刪除。目前只有非永久調度程序完成。它從組件config xml文件加載預定作業。

Gos4j-針對Java的面向目標的調度 - 是一種基於目標組織處理優先級的方法。

Job Scheduler是作爲惡魔運行的批處理程序,可以使用圖形用戶界面進行控制。 Job Scheduler爲預定程序,腳本以及任務處理的時間和頻率使用XML配置。一個API可用於控制事件並記錄到您的作業。

JDRing是一個輕量級的Java調度庫,它既簡單又小巧,但仍支持按指定間隔振鈴,作爲一次性事件或具有完全類似於cron的控制的複雜調度。

jBatchEngine是用Java編寫的批處理作業假脫機程序。與Cron這樣的時間驅動調度器相比,jBatchEngine是事件驅動的。

MyBatchFramework是一個開放源碼的輕量級框架,旨在創建輕鬆健壯且可管理的批處理程序,並將其轉換爲Java語言。

Super with SuperScheduler and SuperWatchdog是一款Java作業調度程序,它爲所有應用程序提供了豐富的GUI。它是平臺中立的。特別適合作爲Linux和Solaris的作業調度程序。它提供了Microsoft Windows Scheduler的超級功能。它提供事件觸發的時間安排。它可以在分佈式環境中安排任務。一項任務將在網絡中的所有機器中執行一次且僅執行一次。所有任務都是節日可調。即使每一份工作都是一份待命的工作,歷史將成爲重要工作的良好軌跡。它支持國際化。

來源:Open Source Job Schedulers in Java

4

查看TimerTask和Timer - 兩者都在該版本的JDK中。

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

將其設置爲在一天內爲您的延遲運行,你要那麼毫秒數的第一次約會。

3

是否可以使用庫如cron4j?它會讓你的工作更輕鬆!

+0

這似乎是因是否該庫的可能性將被允許使用第二我 – 2009-09-30 15:37:04

+0

這個建議 - cron4j是一種愉悅,並且用得好好的,比簡單得多石英(它也可以工作,它只是比較大,通常比你真正需要的要多;並且對於簡單的用例有一些扭曲) – StaxMan 2010-04-07 06:44:21

1

你必須使用Quartz

我也永遠不知道誰在首位推出石英雖然。

如果您有應用程序服務器或類似的工件,您可以在那裏配置Quartz作業,讓它在給定的時間運行您的任務。

+3

石英有許多奇特的特性,所以如果你的要求很詳細,它可能是一個不錯的選擇。但如果你有一個簡單的「每天在5:00點火」,我只是使用計時器。 – Jay 2009-09-30 15:45:24

2
  • Java定時器可以間隔,預先固定的時間等運行任意的作業等。
  • Quartz
  • 如果你真的想成爲它的骨頭,把它包裝在一個shell腳本中並放入cron中。
0

也許,近期後可以幫助你:

Will this pause my Java thread for a minute?

我對這個問題的反應是使用內置的基於java.util.Time和java.util.TimerTask中的類實現一個java: Will this pause my Java thread for a minute?

或者,您可以使用* nix平臺的crontab服務(也可用於Windows平臺)。這是定期運行獨立工作的最簡單和輕量級的風格。

[]的,

和過去的

+0

快速crontab如何: http://www.crontabrocks.org/ []的和過去 – apast 2009-09-30 15:40:09

相關問題