java - MySQL 连接消失 Java

标签 java mysql

我有一个与 MySQL DB 交互的 Java Web 应用程序。我从不关闭数据库连接,并且使用单例来处理连接实例。

问题是,当我保持连接打开时间太长并尝试在应用程序上执行某些操作后,我收到此错误:

The last packet successfully received from the server was 211,710,369 milliseconds ago.  The last packet sent successfully to the server was 211,710,398 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

知道如何制作autoReconnect=true吗?或者为什么会发生这种情况?我虽然默认情况下它会自动重新连接。或者我应该在每次请求后继续关闭数据库?这会降低性能,这对于这个应用程序来说至关重要。

我可以提供更多信息吗?

最佳答案

虽然您不应该让连接打开那么长时间..但要回答您有关自动重新连接的问题。它是一个可以在连接 URL 中设置的属性,例如

url="jdbc:mysql://localhost:3306/confluence?autoReconnect=true"

关于java - MySQL 连接消失 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39694866/

相关文章:

mysql - 使用 mysql 查询提取字符串的某些部分

asp.net - 如何在asp.net 3.5上运行asp.net 4.0网站?

java - Intellij Idea\AndroidStudio 创建变量的前缀

android - 在 MySQL 中保存 GPS 数据的数据类型

java - WifiInfo getSSID 断开连接时返回最后一个 SSID

java - 如何将 sdf_predict() 与库 (sparklyr) 中 ml_pca() 提供的模型一起使用

mysql - 如何将laravel模型保存到2个数据库

php - 使用CodeIgniter进行Sql插入、选择

java - 如何导入外部 gradle 脚本文件并在 Gradle 中正确导入插件?

java - 未从资源包中获取 Spring 验证消息