2009-04-10 107 views
2

我想在Java EE 5應用程序中創建一個隊列監視容器管理組件。隊列是一個數據庫表,每隔5分鐘左右,監視器就會查找符合該表中特定條件的記錄。如果有任何匹配記錄,監視器會在新線程中啓動某種處理。只要應用程序啓動並獨立於任何客戶端會話,此睡眠檢查做功循環應該繼續。如何在Java EE中實現通用隊列監視組件?

什麼EJBs,Servlet等......我應該看着實現這種事情?我正在使用Websphere 7,但理想情況下,解決方案不會綁定到任何一臺應用程序服務器。另外,JMS不是一種選擇。如果這不是直接用Java EE容器管理的組件實現的,還有什麼其他方法有意義?

謝謝。

回答

2

具有定時服務的EJB3。像這樣:

@Stateless 
class MyBeanImpl implements MyBean { 

    @Timeout 
    public void myTimedOutMethod(Timer timer){ 

    } 
} 
1

在Java EE容器中啓動自己的線程並不是一個好主意。在Websphere中,您可以使用Java EE Timers。如果您想要一個也可以在Tomcat中運行的解決方案,則可以使用Quartz