1

この例外が時々発生し、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)
   .....

c3p0 で mysql jdbc 5.1.7 を使用しています。JVM は Linux 64 サーバーで実行されています。バージョン 3.0.8 で修正された mysql jdbc 3.0.7 に関連するバグが見つかりました。したがって、これは私の場合ではないと思います。

ほとんどの実行ではエラーが発生しないため、ランダムな動作のように見えますが、毎週頻繁に発生します。これは、mysql サーバーの通信障害が原因でしょうか? どんなアイデアでも大歓迎です

4

1 に答える 1

2

問題の原因が見つかりました。mysql サーバーでアイドル状態の接続がドロップされたことが原因のようです。autoReconnect=truemysqlのURLで問題が解決しました。

于 2012-05-31T16:04:03.407 に答える