繁体   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