我們使用交換服務器獲取電子郵件並打開連接30分鐘,然後在30分鐘後自動重新打開它。但是當我們想要部署新的war文件並停止tomcat服務時,連接期間不會結束(30分鐘),連接不會關閉。所以tomcat服務在這段時間內無法啓動。 我試圖處理服務器關閉掛鉤停止這樣處理tomcat停止
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){
public void run() {
connection.close();
}
}));
,但它不工作。 是否有另一種方法來關閉連接?
與交換服務器的連接處於新線程中。 Tomcat 7.
此外,我們想以任何方式處理(關閉連接)停止tomcat。
P.S.對不起我的英語不好。
更新:我發現bean的destroy方法執行,但連接在1-2分鐘後關閉。網站仍然太長。
Thx爲您的答覆。 Tomcat不會停止的問題,我不能在不殺死進程的情況下部署新的war文件。我如何重用它? –
哦,現在就明白了。在這種情況下,關機鉤不會幫助你,因爲它不知道tomcat關機發生。在這種情況下關閉是servlet特定的實體。你可以寫** **的ServletContextListener http://docs.oracle.com/javaee/6/api/javax/servlet/ServletContextListener.html – Boris
THX你的答案,但現在我有一個問題:連接被關閉太長。大約1-2分鐘。這是一個漫長的網站。 –