如何修复 java.net.SocketException:软件导致连接中止:接收失败

How to fix java.net.SocketException: Software caused connection abort: recv failed

我正在使用连接到 Mysql 数据库的 Java Web 应用程序 (spring mvc)。 当我在一夜之间离开我的应用程序并且没有请求在夜间处理时,在早上它抛出 java.sql.SQLException: Communication link failure: java.net.SocketException, underlying cause: Software caused connection abort: recv failed 错误。 我正在使用 Apache JDBC 连接池,即在我的 Spring 配置文件中。

我做了一些研究,发现问题的真正原因是数据库在闲置时连接超时,当 Java 应用程序尝试使用它抛出的那些陈旧连接连接到数据库时

java.sql.SQLException: Communication link failure:
java.net.SocketException, underlying cause: Software caused connection abort: recv failed error.

我通过增加 mysql 配置文件 = C:\Program Files (x86)\MySQL\MySQL Server 5.1\my 中的超时值解决了这个问题。初始值 :

[mysqld] wait_timeout=2147483 interactive_timeout=2147483

然后我重新启动了 mysql 服务。

谢谢@EJP