2014-01-25 3 views
0

У меня есть сервер с подключением JDBC MySQL, но каждое утро я получил эту ошибку, когда я проверяю сервер:Java JDBC для MySQL отказ связи

java.sql.SQLException: Сбой связи ссылки: Java .io.EOFException, основная причина: нулевой

** НАЧАТЬ вложенное ИСКЛЮЧЕНИЕ **

java.io.EOFException

StackTrace:

java.io.EOFException на com.mysql.jdbc.MysqlIO.readFully (MysqlIO.java:1395) в com.mysql.jdbc.MysqlIO.reuseAndReadPacket (MysqlIO.java:1539) на com.mysql. jdbc.MysqlIO.checkErrorPacket (MysqlIO.java:1930) на com.mysql.jdbc.MysqlIO.sendCommand (MysqlIO.java:1168) на com.mysql.jdbc.MysqlIO.sqlQueryDirect (MysqlIO.java:1279) на com.mysql.jdbc.Connection.execSQL (Connection.java:2281) at com.mysql.jdbc.PreparedStatement.executeQuery (PreparedStatement.java:1634) at hu.craftbox.Server.CraftboxServerHandler.messageReceived (CraftboxServerHandler.java: 158) по адресу org.jboss.netty.channel.SimpleChannelUpstreamHandler. handleUpstream (SimpleChannelUpstreamHandler.java:70) на org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream (DefaultChannelPipeline.java:564) в org.jboss.netty.channel.DefaultChannelPipeline $ DefaultChannelHandlerContext.sendUpstream (DefaultChannelPipeline.java:791) на org.jboss.netty.handler.timeout.ReadTimeoutHandler.messageReceived (ReadTimeoutHandler.java:184) в org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream (SimpleChannelUpstreamHandler.java:70) в org.jboss.netty. channel.DefaultChannelPipeline.sendUpstream (DefaultChannelPipeline.java:564) в org.jboss.netty.channel.DefaultChannelPipeline $ DefaultChannelHandlerContext.sendUpstream (DefaultChannelPipeline.java:791) в org.jboss.netty.channel.Channels.fireMessageReceived (Cha nnels.java:296) на org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream (OneToOneDecoder.java:70) на org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream (DefaultChannelPipeline.java:564) на org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream (DefaultChannelPipeline.java:559) на org.jboss.netty.channel.Channels.fireMessageReceived (Channels.java:268) на org.jboss.netty.channel. Channels.fireMessageReceived (Channels.java:255) at org.jboss.netty.channel.socket.nio.NioWorker.read (NioWorker.java:88) at org.jboss.netty.channel.socket.nio.AbstractNioWorker. процесс (AbstractNioWorker.java:108) at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run (AbstractNioSelector.java:318) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run (AbstractNioWorker.java:89) at org.jboss.netty.channel.socket.nio.NioWorker.run (NioWorker.java:178) at org.jboss.netty.util.ThreadRenamingRunnable.run (ThreadRenamingRunnable.java:108) at org.jboss.netty.util.internal.DeadLockProofWorker $ 1.run (DeadLockProofWorker.java:42) at java.util.concurrent.ThreadPoolExecutor .runWorker (ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:615) at java.lang.Thread.run (Thread.Java: 744)

** END NESTED ИСКЛЮЧЕНИЕ **

at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1714) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1930) 
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1168) 
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1279) 
    at com.mysql.jdbc.Connection.execSQL(Connection.java:2281) 
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1634) 
    at hu.craftbox.Server.CraftboxServerHandler.messageReceived(CraftboxServerHandler.java:158) 
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) 
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) 
    at org.jboss.netty.handler.timeout.ReadTimeoutHandler.messageReceived(ReadTimeoutHandler.java:184) 
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) 
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) 
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296) 
    at org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:70) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) 
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) 
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) 
    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88) 
    at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108) 
    at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318) 
    at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) 
    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) 
    at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) 
    at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:744) 

Что может вызвать эту проблему и как я могу это исправить?

+0

убедитесь, что оба соединителя mysql правильно импортированы или нет – Boopathi

+0

Нет проблем с разъемами, поскольку он подключается к mysql и отлично работает. Проблема заключается в том, что он вызывает связь с этой ошибкой в ​​ночное время. – TMS

+0

Проверьте [это] (http://forums.mysql.com/read.php?39,16257,33865#msg-33865), возможно, это поможет. – Salah

ответ

1

Через некоторое время MySQL сбрасывает неиспользуемые соединения, так как предполагает, что другая сторона забыла закрыть его.

Что вам нужно сделать, так это настроить ваш MySQL правильно, зависит от вашей компании, Проверка here как настроить ваш MySQL.

+0

Спасибо, я решил это с помощью автоматической функции ping, которая предотвращает переключение соединения MySQL из-за неактивности. – TMS

+0

@TMS может объяснить, что такое «функция автоматического пинга», –

Смежные вопросы