をWAIT_TIMEOUT。は、私は現在、MySQLを含むJavaプログラムで働いていたセッション変数
通信リンク障害:私は問題これらのメッセージとに遭遇しました。サーバから最後に受信したパケットは で、前には174,165,153ミリ秒でした。サーバーに最後に送信されたパケット は4ミリ秒前です。
これは、セッション変数 'wait_timeout'と関係があります。私の仮定は間違っている可能性があるので、私はここでそれを確認しています。これは本当に 'wait_timeout'セッション変数のためですか?このエラーは、セッションタイムアウトが既に終了しているという意味でデータベース接続が「期限切れ」になっていることを意味しますか?はい、私は別の問題がある場合..私は言ったエラーを再現することはできません。..
これは私がエラーを複製するためにしようとしていますものです。
元々
28800
(8時間)である5
からwait_timeout
変数を設定します。executeSimpleQuery()
機能だけで接続があるかどうかを確認するために、単純なSELECT * FROM
文を実行Class.forName("com.mysql.jdbc.Driver"); oConnection = DriverManager.getConnection(sUrl,sUser,sPass); System.out.println("Database Connection Established.\n"); Thread.sleep(6000); executeSimpleQuery();
:これを適用するデータベースにアクセスするための私の次の試みが、私はこのコードを実行します
mysql> set session wait_timeout=5;
思考まだ働いています。どうやら、wait_timeoutがちょうど5で、私がスレッドを6秒間スリープさせたならば、接続は今や期限切れになり、エラーが生成されるはずです。しかし、クエリを実行する代わりに、期待される結果は発生しません。
エラーを複製するにはどうすればよいですか?
はこのためにどうもありがとうございました。セッションごとに接続を処理する必要があるため、私はwait_timeoutのグローバル設定を使用しませんでした。再度、感謝します – Oneb