2014-01-25 3 views
0

나는 JDBC mysql을 연결 서버를 가지고,하지만 난이 오류가있어 매일 아침 내가 서버를 확인하는 경우 :자바 MySQL의 JDBC 통신 링크 오류

은 java.sql.SQLException : 통신 링크 실패 : 자바 .io.EOFException, 근본 원인 : 널 (null)

** 상자의 예외 **를 BEGIN

java.io.EOFException

스택 트레이스 :

com.mysql에서 com.mysql.jdbc.MysqlIO.reuseAndReadPacket (MysqlIO.java:1539) 에서 com.mysql.jdbc.MysqlIO.readFully (MysqlIO.java:1395) 에서

java.io.EOFException . jdbc.MysqlIO.checkErrorPacket com.mysql.jdbc.MysqlIO.sqlQueryDirect (MysqlIO.java:1279)에서 com.mysql.jdbc.MysqlIO.sendCommand (MysqlIO.java:1168)에서 (MysqlIO.java:1930) 에서 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) org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream에서 org.jboss.netty.handler.timeout.ReadTimeoutHandler.messageReceived (ReadTimeoutHandler.java:184) (SimpleChannelUpstreamHandler.java:70) 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 (Cha nnels.java:296) org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream에서 org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream (OneToOneDecoder.java:70) 에서 (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.자바 : 744)

** END 상자의 예외 **

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

[this] (http://forums.mysql.com/read.php?39,16257,33865#msg-33865)을 확인하십시오. 아마도 도움이됩니다. – Salah

답변

1

MySQL은 다른 쪽이 그것을 닫지 못한다고 가정하기 때문에 잠시 후에 사용하지 않는 연결을 삭제합니다.

당신이해야 할 일은 귀하의 비즈니스에 따라 MySQL을 올바르게 구성하는 것입니다. here MySQL 구성 방법을 확인하십시오.

+0

고맙습니다. 자동 ping 기능으로 해결하여 MySQL이 연결이 끊어지는 것을 방지합니다. – TMS

+0

@TMS는 '자동 핑 기능'이 무엇인지 설명 할 수 있습니다. –

관련 문제