常州市建设局网站电话,山儿网站建设公司,平面设计软件cad,种植类网站模板MySql配置为删除任何闲置超过8小时的连接。 这意味着什么#xff1f; 在8个小时的间隔后返回到已部署的应用程序之后#xff08;如果未更改默认SQL参数#xff09;#xff0c;将会遇到异常情况。 如何解决这个问题#xff1f; 增加wait_time参数-不是一个好主意#xff… MySql配置为删除任何闲置超过8小时的连接。 这意味着什么 在8个小时的间隔后返回到已部署的应用程序之后如果未更改默认SQL参数将会遇到异常情况。 如何解决这个问题 增加wait_time参数-不是一个好主意它可能不必要地占用了资源并且不一定是可靠的解决方法。 除此之外依靠“外部”配置进行故障转移不是一个好主意-如果服务器本身崩溃了怎么可能在一个实例中丢失了该配置呢 这种方法会出现问题。 将参数autoReconnect true与JDBC URL一起使用-我的SQl本身不建议这样做请查看链接并且人们报告说这样做也不起作用请参考链接。 自定义处理-让您的代码确定连接已丢失然后恢复它并尝试重新连接但是这将在代码中带来很多故障转移机制。 我发现的最佳方法是将池机制配置为c3p0。 看到这篇文章如何在JPA中为休眠配置c3p0它简单简单且可靠。 那么您如何测试该问题已解决 将MySql中的wait_timeout更改为仅2分钟这是可以从MySql工作台管理控制台完成的方法 保持idleTestPeriod的值小于wait_timeout-快速回顾一下idleTestPeriod的含义 idleTestPeriod: default value0; If this is a number greater than 0, c3p0 will test all idle, pooled but unchecked-out connections, every this number of seconds 在wait_timeout过去之后登录-它不应引发异常 参考 在几个小时后 我们的JCG合作伙伴 Chandan Pandey在“ 软件设计和开发思想”博客上自动 断开了MySql连接 。 翻译自: https://www.javacodegeeks.com/2013/01/mysql-connections-autodrop-after-a-certain-hours.html