2011-12-15 73 views
3

我可以使用isValid(0)函数检查连接是否仍然活动(活动)?MySql isValid方法超时

我得到以下异常:

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

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

你应该考虑在你的应用程序使用前或者到期和/或测试连接的有效性,增加了服务器的配置值,客户端超时,或使用连接器/ J连接属性“autoReconnect的=真”来避免这个问题

我无法增加'wait_timeout'值。

另外我尝试了autoReconnect=true,但我仍然需要处理异常。

我了解了isValid()函数。 但我不明白它检查的有效性。

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

回答

0

根据the docisValid需要运行“查询”,所以它应该是有用的。

驱动程序应该提交一个关于连接的查询或者使用一些其他的机制,当这个方法被调用时肯定地验证连接仍然有效。

好像你的连接池应该为你做的事情...