我需要能夠在一個容器中實現兩個線程任務,並且需要了解執行此操作的最佳實踐。以下是我需要完成的兩類任務:管理容器中線程池的最佳做法是什麼?
- 在Web服務調用期間,我需要啓動一個線程,在響應發送後繼續處理。處理完成後,不需要將任何消息發回給原始發件人。
- Web服務調用可能需要產生多個需要並行運行的線程。應該阻止對原始請求的回覆,直到所有工作人員完成。響應的元素將從每個線程的結果中抽取出來。
當然,我可以創建我自己的一個java.util.concurrent.Executor
的實例,並使用它,但我懷疑容器可能是足夠聰明,提供一個他們所管理。我正在JDK 1.5.0上使用WebSphere 6.1(我知道,古老的......但它就是這樣)。我正在運行使用Apache CXF開發的Web服務,所以我在servlet容器中,但是使用Spring進行配置。
相關:http://stackoverflow.com/questions/5357033/background-timer-task-in-jsp-web-application/5357856#5357856答案最終歸結爲:「取決於容器,閱讀它的文檔/手冊」。您可能希望將您的問題重新構建爲「如何利用WebSphere託管線程池?」如果您無法破譯IBM文檔。 – BalusC 2011-05-17 21:53:30