2011-09-20 91 views
1

我正在使用Java EE 6技術構建個人Web應用程序(容器是應用程序服務器,Jboss AS 7)。我從頭開始創建 重複的後臺任務開始,我確定了兩個可能的方案:在Java Web應用程序中處理重複性後臺任務的策略?

  • 計劃任務(例如,發送大量的郵件。每個星期天晚上)基於Web的事件
  • 觸發任務(例如,運行從網頁動作有些長後臺更新)

我想避免的(我不知道,如果是更多鈔票)什麼是有一定背景的任務分散在各地我platformm(他們中的一些使用cron,利用他人TimerTask ,db jobs等)變得困難保持。

考慮到以前的兩個要求,在Java Web應用程序中處理重複後臺任務的方法有哪些?

相關:

回答

2

隨着EE6你可以得到使用TimerService與@Timeout註釋幾乎所有情況下襬脫石英。

而你不需要寫一行XML來使它工作。

EE Night Hacks book中有一個很好的例子,也可以作爲來源here

您可以將Timeout方法添加到處理觸發器Web事件的bean中。這樣,他們可以保持在一個地方。您也可以通過觸發事件修改定時器設置。

1

我還是看看Quartz也。我無法對使用EE6的TimerService發表評論,因爲我沒有使用它,但是我發現Quartz非常有用。

當我使用它(幾年前現在)時,它有一個配置文件,它非常類似於您爲cron找到的配置文件。您可以使用它來調用執行預定作業所需的任何方法,然後簡單地提供一些其他機制以根據需要調用該方法。

相關問題