我有一個消息驅動bean,只要消息到達隊列中就在集羣節點上實例化。Java EE:跟蹤集羣上MessageDrivenBeans的進度
我希望能夠監視和取消羣集範圍內的消息驅動bean中運行的進程,這有點問題。
這怎麼能實現?我可以以某種方式獲得當前每個羣集節點處理的MDB列表,並在必要時終止它們的進程?我可以使用某種單例來保存所有羣集節點上的所有MDB的引用(我不這麼認爲:()
是否有一些註冊表服務可以使用,或者是否可以編寫類似的東西?
可能不得已是推動通過一個數據庫,這是我不喜歡的監控和取消的過程,因爲它需要輪詢在多邊開發銀行的數據庫來檢測的取消,否則是設置一個簡單的標誌。
服務器環境的BEA WebLogic 10.02,我使用EJB 3.0!
我真的想委託規範但是:ejb規範明確不支持創建自己的線程。容器的行爲是未定義的。我真的想堅持規範。至於單身服務:是的,這是可行的,但你對任何你使用的容器都有緊密的耦合(在我的例子中是weblogic)。 – Falcon
http://stackoverflow.com/questions/10276028/i-need-a-thread-in-web-javaee-container-to-complete-asynccontext-objs-in-same-jv可能有助於產卵線程方面符合規範。如果您使用Java EE 6,它當然會更容易。也就是說,您可以使用Singleton bean作爲服務,以便遵守規範。 –