我有一個tomcat 6.20實例正在運行,並且想通過後臺線程發送郵件來阻止郵件發送功能阻止請求。tomcat後臺線程
有什麼辦法可以在後臺執行線程,同時仍然允許正常的頁面流發生。
該應用程序是用ICEfaces編寫的。
謝謝。
我有一個tomcat 6.20實例正在運行,並且想通過後臺線程發送郵件來阻止郵件發送功能阻止請求。tomcat後臺線程
有什麼辦法可以在後臺執行線程,同時仍然允許正常的頁面流發生。
該應用程序是用ICEfaces編寫的。
謝謝。
java.util.concurrent.Executors.newCachedThreadPool
(或其他工廠方法之一)在您的控制器/ servlet的初始化方法的Executor
創建。java.lang.Runnable
Runnable
到Executor
這將在後臺執行的發送。請記得在啓動時創建一個Executor,並在所有請求之間共享;不要每次都創建一個新的Executor(你可以,但會有點慢和浪費)。
我找到了出路。這些標籤
@PostConstruct()
和
@PreDestroy()
創建2種方法,在你的servlet返回void並接受任何參數。 將第一個標記放置在第一個方法的正上方,將第二個標記放置在第二個標記的上方。
的@PostConstruct方法由容器之前實現類開始響應Web服務客戶端稱爲Essense。
@PreDestroy方法在端點從操作中移除之前由容器調用。
在PostConstruction()方法中,使用runnable接口創建線程,並使其運行在無限循環中,除非某個布爾變量的值爲false。
使用PreDestroy()方法將布爾變量設置爲false。
這應該是j.u.c.Executors.newCachedThreadPool(帶有s),但除此之外:同意 – WMR 2009-07-28 14:22:49