【问题标题】:MySql isValid method for timeoutMySql isValid 方法超时
【发布时间】:2012-01-20 20:40:15
【问题描述】:

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

我收到以下异常:

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

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

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

我无法增加“wait_timeout”的值。

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

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

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

【问题讨论】:

    标签: mysql jdbc


    【解决方案1】:

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

    驱动程序应提交有关连接的查询或使用其他某种机制来肯定地验证该连接在调用此方法时仍然有效。

    似乎您的连接池应该为您做一些事情......

    【讨论】:

      猜你喜欢
      • 2010-12-15
      • 2014-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-15
      • 2013-05-12
      • 2021-01-22
      相关资源
      最近更新 更多