我有一个tomcat实例设置,但是context.xml在一段时间不活动之后,我在其中配置的数据库连接不断消失。
当我检查日志时,出现以下错误:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:从服务器成功接收到的最后一个数据包是68051秒前。成功发送到服务器的最后一个数据包是68051秒前,比服务器配置的“ wait_timeout”值长。您应考虑在应用程序中使用连接之前使连接有效性到期和/或对其进行测试,或者增加服务器为客户端超时配置的值,或者使用Connector / J连接属性'autoReconnect = true'来避免此问题。
这是context.xml中的配置:
我正在autoReconnect=true按照错误说的那样使用,但是连接一直在消失。我以前从未见过这种情况。
我还验证了所有数据库连接均已正确关闭。
问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DBCP使用Jakarta-Commons数据库连接池。它依赖于Jakarta-Commons组件的数量:
removeAbandonedTimeout="60" 我正在使用相同的连接池内容,并且正在设置这些属性以防止未通过tomcat配置该内容。但是,如果第一件事不起作用,请尝试这些。
testWhileIdle=true timeBetweenEvictionRunsMillis=300000