我有一個servlet,它需要幾分鐘的處理,並返回其響應。它運行在一個有限的環境中(Amazon Elastic Beanstalk)。在此環境中,請求時間有60秒的限制,並且不可配置。Java Servlet的連接超時
我在這裏有什麼選擇?我想讓servlet啓動一個線程並讓瀏覽器使用AJAX進行輪詢,但是我看到很多人推薦使用servlet來由於各種原因啓動線程。
另一種解決辦法是有一個線程啓動,並在應用程序上下文監聽結束了,但我在執行各種功能的應用程序許多不同的servlet,它們都具有相同的問題。在後臺運行的單個線程不會真的有幫助。
有什麼建議嗎?
編輯:隨着越來越多的研究,在那麼一點點,我發現一個Executor 正是我需要的。
+1爲徹底的響應和JMS。但是,我正在尋找的答案與Executor類似(請參閱我的問題的編輯)。謝謝。 – stepanian 2012-02-01 09:39:56
@stepanian,執行者並不神奇。它使用線程池,這意味着您間接創建不受您的servlet容器管理的線程。 – AlexR 2012-02-01 10:43:54