まとまりのないブログ

something which something is something

交差運転日記

mysqlへの接続が8時間後に切れる

投稿日:

java.lang.Exception: The last packet successfully received from the server was20910 milliseconds ago.The last packet sent successfully to the server was 20910 milliseconds ago, which is longer than the server configured value of ‘wait_timeout’. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property ‘autoReconnect=true’ to avoid this problem.

(翻訳)

最後の箱はうまくサーバーwas20910から受け取りましたミリ秒、最後の箱がうまくサーバーに送信したago.Theは20910ミリ秒前でした、サーバーが『wait_timeout』の価値を構成したより、長いです。あなたは、どちらの期限切れになっておよび/またはあなたのアプリケーションで使用の前に接続有効性をテストして、クライアントタイムアウトのためにサーバー構成された価値を増やすか、この問題を避けるためにConnector/Jコネクションのプロパティ『autoReconnect=true』を使うことを考慮しなければなりません。

tomcatのウェブアプリケーションでサーブレットを実行したときに上記エラーが発生した。mysqlの設定で、my.cnfファイルには wait_timeout=28800 という設定をしているのだけれど、エラー内容はその値を増やすか、autoReconnect=trueを設定しろということらしい。それをすれば上記エラーは発生しなくなるのかわからないが、とりあえず試してみる。http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/jndi-datasource-examples-howto.htmlのページを参考に、tomcatのコンテキストファイルのデータベース接続urlに

url=”jdbc:mysql://localhost/database?autoReconnect=true

というパラメータを追加した。効果があるかどうかは様子見。

その後

java.net.ConnectException: Connection timed out
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:519)
        at java.net.Socket.connect(Socket.java:469)

というエラーが発生したのをログにて確認した。context.xmlファイルのデータベース接続情報のパラメータへ、自動再接続の設定を有効にするようにして動作テスト。以下記述例。データベースのurlの末尾に?autoReconnect=trueというパラメータを追加した。この状態で稼動したところ、1日稼動したところデータベースへの接続関連のエラーは発生していないことが確認できた。とりあえずしばらくは様子見。

<Context path=”/” reloadable=”true” docBase=”ROOT”>

<Resource name=”jdbc/db”
auth=”Container”
type=”javax.sql.DataSource”
driverClassName=”com.mysql.jdbc.Driver”
url=”jdbc:mysql://localhost/db?autoReconnect=true”
username=”nakahira”
password=”nakahira-pass”
maxActive=”100″
maxIdle=”100″ />

</Context>

-交差運転日記

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

Yahoo!オークションに落札相場を検索する機能が登場

Yahoo!オークションに落札相場を検索するための機能が新たに追加された模様。オークションの出品マスターというYahoo!オークションの独自のシステムにおける特典の一部として提供され、条件をクリアして …

no image

USB-LANケーブル

UPSを買った。その付属品に見慣れないケーブルがあった。ケーブルの片方はUSB端子で,もう片方はLAN端子。なんなんだこれは・・・。

no image

OCN家計簿を試してみたがやめた

家計簿のソフトは好きなので試しにOCN家計簿というウェブサービスに登録してみた。すると口座登録画面がでてきて、カードや銀行口座が登録できるようになり、あらかじめ登録された銀行などに口座を持っていれば登 …

no image

ダルトン(DULTON) スツール

ダルトン:回転昇降式スツール ダルトン社のスツール。個人的には聞いたことが無いメーカーだけれどこのスツールは良さそう。無駄が無い・・・。 株式会社ダルトン

no image

OpenIdのメリットがよくわからん

Yahoo!のOpenIdのシステムを使ってテストしてみているのだけれど、認証まではできたがその後がよくわからない。twitterのAuthだとユーザIDがわかるがYahooの場合何もわからない。ただ …