2010-10-25 44 views
2

我正在研究需要提供SOAP服務的Java服務器端應用程序。爲此,我們使用Axis2並在Tomcat 6安裝中進行部署。Axis2中的後臺任務 - Tomcat棧

我們遇到以下問題:我們需要運行一些後臺線程;一個用於定期查詢另一個Web服務中提供的數據的更改,另一個用於監視和使用MQ中的數據。

我的問題是,運行這些後臺任務的最佳Java EE練習是什麼?我們是否應該將這些作爲後臺線程來運行,以便我們能夠告訴Tomcat在啓動時運行?有沒有比從Web應用程序容器中產生線程更好的方法?

該系統不夠大,無法將其分解爲較小的部分(例如,在系統管理員中運行後臺任務,web服務部分是查詢該系統deamon的單獨無狀態組件)。出於同樣的原因,我們沒有選擇在像JBoss這樣的完整應用服務器上運行(這會有什麼區別?)。

謝謝!

更新: 在補充問題上,如果我們剛剛爲這些任務產生了新線程(並假設這不是常見做法),那麼Tomcat(或Axis)會變得更不穩定還是有其他問題?

回答

1

我建議使用quartz-scheduler這類的東西。它比線程本身更簡單,當然也更靈活。在Tomcat或Axis2的啓動過程中有攔截器,因此您可以在那裏啓動調度程序。