![](/img/trans.png)
[英]How to configure PostgreSQL clustering (Active/Active) in Ubuntu 12.04 LTS?
[英]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.