こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

MySQLへ途中から接続できなくなる

MySQL 5.5.27, mysql-connector-java 5.1.12を用いて,MySQLにアクセスしています.
しばらくは動いているのですが,時間が経つと,以下のようなエラーを吐いて止まってしまいます.

関連するコードは以下の通りです.
https://gist.github.com/4243576
どなたか解決法が分かる方がいらっしゃいましたら,よろしくお願い致します.

----以下エラーコードです
(行数はコードと対応しておりません.
エラーコードの39行目に当たるのがgistの35行目,
287行目に当たるのがgistの46行目
291行目に当たるのがgistの50行目
になります.)

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link fai
lure

The last packet sent successfully to the server was 0 milliseconds ago. The driv
er has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1
122)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2260)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:787)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49)
at sun.reflect.GeneratedConstructorAccessor10.newInstance(Unknown Source
)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:357)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at botan.DBManager.connect(DBManager.java:39)
at botan.DBManager.insertStatusIdsLong(DBManager.java:287)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communicatio
ns link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driv
er has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1
122)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:344)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2181)
... 16 more
Caused by: java.net.SocketException: No buffer space available (maximum connecti
ons reached?): connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.ja
va:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:293)
... 17 more
Exception in thread "main" java.lang.NullPointerException
at botan.DBManager.insertStatusIdsLong(DBManager.java:291)

投稿日時 - 2012-12-09 15:27:31

QNo.7836999

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

http://dev.mysql.com/doc/refman/5.1/ja/gone-away.html

wait_timeoutを伸ばすと解決するのでは?

投稿日時 - 2012-12-09 15:52:43

お礼

ご回答頂きありがとうございます.

試しにwait_timeoutを86400(=24時間)に設定してみたのですが,同様のエラーが発生してしまいました.
質問に書きそこねてしまったのですが,このエラーは10~20分程度で発生するため,タイムアウトの問題ではないのかもしれません.
他に思い当たる節がありましたら,教えていただければと思います.

投稿日時 - 2012-12-10 17:47:23