MySql isValid超时方法

时间:2011-12-15 04:45:19

标签: mysql jdbc

我可以使用isValid(0)函数检查连接是否仍处于活动状态(活动)吗?

我遇到以下异常:

  

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:

     

从服务器成功收到的最后一个数据包是几毫秒前。   成功发送到服务器的最后一个数据包是在几毫秒之前,这比服务器配置的'wait_timeout'值更长。

     

您应该考虑在应用程序中使用之前到期和/或测试连接有效性,增加服务器配置的客户端超时值,或使用Connector / J连接属性'autoReconnect = true'来避免此问题

我无法增加'wait_timeout'值。

我也尝试使用autoReconnect=true,但无论如何我都需要处理异常。

我了解了isValid()功能。 但我无法理解它检查的有效性。

使用isValid(0)会帮助我解决超时问题吗?

1 个答案:

答案 0 :(得分:0)

根据the docisValid需要运行“查询”,因此它应该有用。

  

驱动程序应提交有关连接的查询或使用其他一些机制,以便在调用此方法时肯定地验证连接是否仍然有效。

看起来像你的连接池应该为你做的事情......