我在我的web应用程序上发现了一个问题,hibernate连接不能正常关闭。但考虑到web应用程序的复杂性,这至少需要15 - 30天。
同时,我想手动关闭连接。
这样我就可以在不重新启动tomcat的情况下关闭这个连接。有一个命令可以用来杀死这个连接池吗?
我在hibernate配置中发现了一个错误,需要解决
#netstat -anp |grep 3306 |grep CLOSE_WAIT
tcp 1 0 ::ffff:172.18.11.4:50750 ::ffff:172.18.11.8:3306 CLOSE_WAIT 4203/java
tcp 1 0 ::ffff:172.18.11.4:36192 ::ffff:172.18.11.8:3306 CLOSE_WAIT 4203/java
tcp 1 0 ::ffff:172.18.11.4:36215 ::ffff:172.18.11.8:3306 CLOSE_WAIT 4203/java
tcp 1 0 ::ffff:172.18.11.4:36211 ::ffff:172.18.11.8:3306 CLOSE_WAIT 4203/java
tcp 1 0 ::ffff:172.18.11.4:57820 ::ffff:172.18.11.8:3306 CLOSE_WAIT 4203/java
tcp 1 0 ::ffff:172.18.11.4:36213 ::ffff:172.18.11.8:3306 CLOSE_WAIT 4203/java
tcp 1 0 ::ffff:172.18.11.4:36159 ::ffff:172.18.11.8:3306 CLOSE_WAIT 4203/java 等等……
运行Tomcat5.5和MySQL5.5的CentOS 6.0。
发布于 2011-11-30 21:11:06
始终调用socket.close()。另请参见how to close JDBC resources properly every time。
如果您无法修复服务器,请将以下代码行添加到/etc/init.d/inetinit
/usr/sbin/ndd -set /dev/tcp tcp_close_wait_interval 1500
/usr/sbin/ndd -set /dev/tcp tcp_keepalive_interval 1500然后重新启动。根据http://www.experts-exchange.com/OS/Unix/Solaris/Q_20568402.html的说法
https://stackoverflow.com/questions/8326058
复制相似问题