JdbcTemplateクラスを使用してMysqlサーバーでデータベースプログラミングを行うには、SpringFrameworkでJavaを使用しています。接続アイドルタイムアウトエラーを正しく処理する方法
org.apache.commons.dbcp.BasicDataSource
をdbデータソースとして使用する。私は、接続に自動再パラメータを追加することで、この問題に対処したり、追加したくない
The last packet successfully received from the server was XXXXX milliseconds ago.
:接続が長時間アイドル状態にあるときに時々、CommunicationException
は、次のメッセージを投げている
プロパティは、接続が正しく開かれたことを確認するために、各クエリの前にselect 1
を実行します。また、mysqlサーバの設定に触れず、タイムアウト値を上げたくないのです。
私がしたいのは、その例外を適切に処理することです。
私はCommunicationException
をキャッチし、成功するまで再試行し、X回以上失敗した場合はX回再試行が失敗したことを示すExceptionをスローすると考えました。
- この問題を解決する方法は他にありませんか?
- 私の考えはどうですか? :)
- 多分私に自動的にそれを行うspringframeworkに何かがあり、私はそれを逃した?
すべての情報をお待ちしております。
ありがとうございました!
なぜ、autoReconnectを使用しないのですか? – EJP
autoReconnectパラメータは廃止予定です – ufk
"接続状態やデータベースの状態情報の破損を招くことなくMySQLサーバに再接続する安全な方法がないため、autoReconnectオプションの使用はお勧めできません。プールからの利用可能な接続を使用してアプリケーションをMySQLサーバに接続できるようにする接続プール。autoReconnect機能は廃止され、将来のリリースで削除される可能性があります。 "、http://dev.mysql.com/doc /refman/5.1/ja/connector-j-usagenotes-troubleshooting.html#qandaitem-21-3-5-3-1-4 – ptomli