我收到了以下错误。
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:最后一个 从服务器成功收到的数据包是37,787,544 几毫秒之前。成功发送到服务器的最后一个数据包是 37,787,544毫秒之前。比配置的服务器长 'wait_timeout'的值。你应该考虑到期和/或 在您的应用程序中使用前测试连接有效性,增加 服务器配置的客户端超时值,或使用 连接器/ J连接属性'autoReconnect = true'以避免这种情况 问题
一旦我重新启动应用程序,它可以运行一段时间,然后出现同样的错误。
答案 0 :(得分:1)
你可以做几件事,
jdbc:mysql://yourhost:port/dbname?autoReconnect=true
答案 1 :(得分:0)
您的关系即将到期,因为您正在创建它们并将它们“永久地”保留。
最好的方法是使用连接池,例如Apache's DBCP - DataBase Connection Pool。
池提供给你的一件事是它在给你之前检查连接的有效性 - 如果连接是“不好”(它运行一个简单的查询来断言),它关闭它并创建一个新的然后给你新的。这整齐地迎合到期。