簡體   English   中英

如何在Ubuntu 12.04上從tomcat釋放對應用程序的訪問

[英]How to release access to application from tomcat on ubuntu 12.04

在Windows中,當我停止tomcat時,該應用程序將釋放對數據庫的保留,因為該應用程序將以tomcat停止。但是在Ubuntu中,即使我停止了tomcat應用程序,它也不會釋放對數據庫的訪問權限。

我嘗試過

sudo /etc/init.d/tomcat6 stop
sudo service tomcat6 stop

我不能使用pkill,因為如果我終止進程,那么即使與數據庫服務器的連接也會被釋放。 我需要手動啟動。 我只想從應用程序釋放對數據庫的訪問。 我該怎么做?

tomcat可以容納該應用程序嗎? 還是其他任何暫停的過程?

是什么在Windows和Ubuntu之間造成差異?

如果您通過突然殺死tomcat來停止它,而不是以允許正常關閉的方式停止它,它將無法發送網絡數據包以通知PostgreSQL連接已關閉。 如果PostgreSQL正在監聽下一個tomcat請求,它將等待很長的時間,永遠不會有tomcat已死的任何線索。

TCP具有稱為“ keepalives”的可配置功能,該功能可使偵聽器在連接空閑時定期發送數據包,以測試連接是否仍然良好。 請參閱以“ tcp_keepalives_”開頭的連接配置設置 我建議您嘗試類似的方法:

tcp_keepalives_idle = 60
tcp_keepalives_interval = 1

這將使PostgreSQL在超過一分鍾的時間內檢測到斷開的連接,而不會造成太多開銷。 這將告訴PostgreSQL在空閑連接上等待60秒,然后再發送額外的數據包以測試連接是否仍然良好,並每隔一秒發送一次重試。 (我認為它嘗試了9次。)如果沒有應答任何數據包,則PostgreSQL將關閉連接,並且進程將正常消失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM