我可以使用isValid(0)
函数检查连接是否仍处于活动状态(活动)吗?
我遇到以下异常:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
从服务器成功收到的最后一个数据包是几毫秒前。 成功发送到服务器的最后一个数据包是在几毫秒之前,这比服务器配置的'wait_timeout'值更长。
您应该考虑在应用程序中使用之前到期和/或测试连接有效性,增加服务器配置的客户端超时值,或使用Connector / J连接属性'autoReconnect = true'来避免此问题
我无法增加'wait_timeout'值。
我也尝试使用autoReconnect=true
,但无论如何我都需要处理异常。
我了解了isValid()
功能。
但我无法理解它检查的有效性。
使用isValid(0)
会帮助我解决超时问题吗?
答案 0 :(得分:0)
根据the doc,isValid
需要运行“查询”,因此它应该有用。
驱动程序应提交有关连接的查询或使用其他一些机制,以便在调用此方法时肯定地验证连接是否仍然有效。
看起来像你的连接池应该为你做的事情......