我正面临如此烦人的问题,
使用 Tomcat JDBC Lib 在 Tomcat 6 和 MySQL 上运行。
com.mysql.jdbc.CommunicationsException:
由于基础异常导致的通信链路故障:
** BEGIN NESTED EXCEPTION **
java.io.EOFException
STACKTRACE:
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1934)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2380)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2909)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3026)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1137)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1231)
经过一段时间(20 分钟)后,与 db 的所有连接似乎都过期了。
autoReconnect=true"
validationQuery="Select 1"
一切都准备好了。
我确实处理了重新连接到数据库,它工作正常,但是巨大的日志文件很糟糕,我不能处理这个异常以使其保持沉默。这种类型的“修复”也不是正确的解决方案。有没有办法:
a)静默处理这个异常
b)修复这个问题(我没有任何我知道的防火墙)(无权访问my.cnf进行mysql配置)
在完全不同的应用程序上使用 Apache jConnector 的 Tomcat 5 上也存在此问题,没有任何可能断开连接的防火墙。
(在调用连接的方法上捕获 EOFException 或 CommunicationsException 当然没有帮助。)
提前致谢。