簡體   English   中英

批處理vs EJB計時器

[英]Batchlet vs EJB Timer

我做了一個應用程序,在網絡節點上進行了一些測試,例如ping測試,檢索磁盤空間等。

我使用計划的批處理來運行操作,但是我想知道這是否是批處理的正確使用?

EJB計時器應該更相關嗎? 另外,當我運行一個批處理時,我的glassfish服務器會保留該批處理作業的日志,而我並不需要它(尤其是一天中生成的批處理作業的數量)。

如果我需要在相同的計划時間內運行某些作業,我認為批處理可以做到,但是EJB計時器也可以嗎?

您能給我您提出實現這一目標的正確方法的意見嗎?

謝謝,Ersch

當您的任務在眨眼間(或附近)執行時,使用EJB計時器是合適的。

否則,使用批處理機制。

從EJB計時器執行的長時間運行的任務可能會出現問題,因為它們在通常會在短時間后超時的事務中執行。 增加此事務超時也會增加數據庫以及其他可能影響應用程序正常運行的資源鎖定的機會。

這不是一個有明確答案的問題,但是將您的應用程序作為批處理工作需要花費一些成本,我將看一下我將要看看是否值得這樣做。

因此,您正在考慮由一個Batchlet步驟組成的工作。 好的,“重新啟動”功能沒有任何好處,無論是在工作失敗的步驟中,還是在大塊步驟中利用檢查點。 批處理編程模型非常簡單...即使您確實喜歡@BatchProperty,也必須立即處理XML。

僅當您要啟動,查看和管理這些執行以及其余批處理作業時,這才變得更加有趣。 這可能是因為您正在使用提供某種特定於實現的附加功能的實現。 這方面的一個示例可能是與外部調度程序軟件的集成,從而允許由其調度作業。 在另一個極端,如果您發現在一個位置上保存所有批處理作業執行的持久性記錄(作業存儲庫,通常是持久性數據庫)的價值,那么這對於您也很有價值。

但是,如果您不關心其中任何一個,那么可以使用EJB計時器代替。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM