我不时引发这个异常导致我的mysql调用失败。
Caused by: java.lang.StackOverflowError
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3251)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1932)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:4916)
.....
我正在使用mysql jdbc 5.1.7和c3p0。 JVM在linux 64服务器上运行。 我在版本3.0.8中修复了mysql jdbc 3.0.7中的相关错误。所以我想这不是我的情况。
这似乎是随机行为,因为对于大多数执行而言没有错误,但它通常每周都会发生。 这可能是由mysql服务器通信故障引起的吗? 欢迎任何想法
答案 0 :(得分:2)
autoReconnect=true
为我解决了这个问题。