2013-03-01 28 views
0

我想弄清楚如何解決我已經涉足的設計問題。 我們假設在我的應用程序中,我需要一種守護進程/服務,它可以在後臺管理對象池中繼續工作,以使它們可供客戶端使用。 特別是這個守護進程負責管理這些對象的整個生命週期。使用EJB的後臺進程

現在,我沒有深入瞭解這個守護進程的細節,我在想如何設計它。 我的第一個想法是依靠WorkManager API。因爲我有一個Singleton EJB建模我的應用程序核心,所以想要得到一個WorkManager,然後產生守護進程(顯然實現Work)。我在開發資源適配器時使用過WorkManager,我想我也可以在EJB中使用它,但對WorkManager API(基本上由javax.resource.spi.work提供)支持Glassfish(3.1.2.2)支持,我發現在RA上下文中這是不可能。

我看了看網頁,發現一個interesting article by Daniel Veselka似乎接近介紹WorkManager的CommonJ實現的問題,並且我明確地考慮了遵循這種方法。

您對此有何看法?

回答

1

您也可以使用一個定時的bean,它週期性地重新安排自己,併發送代表實際工作內容的JMS消息。它爲我們工作。

+0

遵循定時bean方法Quartz Scheduler也是一個不錯的選擇,對嗎? – fabpicca 2013-03-01 09:57:47

+0

我對Quartz沒有個人經驗,但是可以。或者產生一個線程的舊的ServletContextListener。 – ewernli 2013-03-01 10:05:53