2010-07-19 54 views

回答

0

您不能或至少不應該直接干擾應用程序服務器線程。因此,在Java EE環境中,「kill switch」對我來說確實不合適。

但是我明白你有問題,但寧願建議採取異步的方法,你把工作分解成更小的單位。

我是用EJB定時器做的,對結果很滿意:爲第一個工作單元創建了一個初始定時器。當應用程序。服務器執行計時器,然後將其註冊爲第二個工作單元對應的第二個工作單元等。由於EJB計時器支持存儲自定義信息,因此可以將信息從一個工作單元傳遞到另一個工作單元。另外,定時器執行和註冊是事務性的,這對數據庫來說是很好的。您甚至可以使用此方法關閉並重新啓動應用程序服務器。在每個工作單位運行之前,我們檢查數據庫是否在此期間取消了工作。