MySQL JDBCドライバーには、場合によっては役立つ自動再接続機能があります。 「
2番目のオプションは、JDBC接続プールを使用することです。
3番目のオプションは、クエリを実行して、各トランザクションの開始時に接続がまだ有効であることをテストすることです。接続が有効でない場合は、接続を閉じて新しい接続を開きます。一般的なクエリはSELECT 1
です。 。参照:
簡単な解決策は、MySQL構成プロパティを変更して、セッションアイドルタイムアウトを非常に大きな数に設定することです。ただし:
- アプリケーションが非常に長い間アイドル状態になりやすい場合、これは役に立ちません。
- アプリケーション(または他のアプリケーション)が接続をリークしている場合、アイドルタイムアウトを増やすと、失われた接続が無期限に開いたままになる可能性があります...これはデータベースのメモリ使用率には適していません。