-1

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.net.SocketExceptionを修正する方法:ソフトウェアが接続を中断させた:recv failed

私はいくつかの研究を行なったし、問題の本当の原因は、アイドル状態とJavaアプリケーションは、これらの古い接続を使用してデータベースに接続しようとすると、それは

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

を@EJP感謝します。たとえば、整数値を受け取り、同じ値を返す単純なストアド関数を実装します。これは、アイドルタイムアウトを防ぎながら、サーバーのリソースからほとんど何も消費しません。 – FDavidov

+0

[com.mysql.jdbc.exceptions.jdbc4.CommunicationsExceptionの重複している可能性があります:通信リンクの障害ソフトウェアによる接続の中止:recv failed](http://stackoverflow.com/questions/9527459/com-mysql-jdbc-exceptions-jdbc4 -communicationsexception-communications-link-fai) –

+2

[ソフトウェアによる接続の中止の原因:ソケット書き込みエラー]の正式な理由(http://stackoverflow.com/questions/2126607/official-reasons-for-software-caused) -connection-abort-socket-write-error) – EJP

答えて

0

をスローしたときに、データベースが接続をタイムアウトしていることであることがわかりました私は、MySQLの設定ファイルにタイムアウト値を増やすことで、このproblemeを固定= C:\プログラムファイル(x86の)\ MySQLの\ MySQLサーバ5.1 \ my.iniファイル

[mysqldを] WAIT_TIMEOUT = 2147483は、interactive_timeout = 2147483

その後、私はmysqlサービスを再起動しました。

はあなたが生きて接続を維持するために毎分、言って、DBへの単純な要求になるだろう、ハートビートメカニズムのソートを実装しようとするかもしれ

関連する問題