当前位置: 首页 > 知识库问答 >
问题:

Java MySQL JDBC通信链路故障

郑嘉年
2023-03-14

我有一个带有JDBC mysql连接的服务器,但每天早上检查服务器时都会出现这样的错误:

在com.mysql.jdbc.mysqlio.readfly(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)在在hu.craftbox.server.craftboxServerHandler.messageReceed(CraftboxServerHandler.java:158)在org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpper(simpleChannelUpstreamHandler.java:70)在org.jboss.netty.channel.defaultChannelPipeline.sendupStreamStream(DefaultChannelPipeline.java:564)在jboss.netty.handler.timeout.readtimeouthandler.messageReceed(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.java:564)在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.firemessageReceed(channels.java:268)在位于org.jboss.net的netty.channel.socket.nio.abstractnioworker.process(abstractnioworker.java:108)run(abstractnioselector.java:318)在org.jboss.netty.channel.socket.nio.abstractnioworker.run(abstractnioworker.java:89)在org.jboss.netty.channel.nocket.nio.nioworker.run(nioworker.java:178)在org.jboss.netty.netty.threadrenamingrunnable.run(threadrenamingrunnable.java:108)在java.util.concurrent.ThreadPoolExecutor.runworker(threadPoolExecutor.java:1145)在java.util.concurrent.threadPoolExecutor$worker.run(threadPoolExecutor.java:615)在java.lang.thread.run(thread.java:744)

**结束嵌套异常**

    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)

什么会导致这个问题,我如何解决它?

共有1个答案

锺霍英
2023-03-14

MySQL会在一段时间后删除未使用的连接,因为它假设另一方忘记关闭它。

您需要做的是根据您的业务正确配置您的MySQL,请查看此处如何配置您的MySQL。

 类似资料:
  • 我用java从MySQL查询了一些记录。但是在一些查询中,我遇到了一个问题,使查询失败,但在其他情况下,它查询成功。错误消息是下一个: 我尝试过一些方法,比如: 在 但什么都没发生。 我的环境是: MySQL: 5.5.3-m3-log源代码分布 Java: 1.60_16 jdk: HotSpot(TM)64位服务器VM(构建14.2-b01,混合模式) JDBC: mysql连接器-java-

  • 我在Stackoverflow的另一个问题中尝试了这个建议,并在连接方面做了如下更改 但我的项目还是失败了 严重:执行身份验证com时发生异常。mysql。jdbc。例外情况。jdbc4。通信异常:通信链路故障 谁能告诉我克服这个问题的最好方法是什么?

  • StackOverflow上发布的与通信有关的问题似乎已经够多了。但没有一个能帮我走出困境。 但是,当我试图通过JDBC连接DB服务器时,它仍然失败,出现异常“com.mysql.JDBC.exceptions.jdbc4.CommunicationsException:Communications link Failure”。 测试类如下所示。

  • 我试图连接我的java应用程序与SQL数据库和当我点击保存按钮它给我以下错误 这是我的密码

  • 我在所有项目中都使用Liquibase,我非常喜欢它处理db更新的方式,但最近我遇到了这个问题: 我的服务器上运行了3个应用程序。其中一个跑了大约20年。第二次运行2个月,第三次是新的。 它们都是Spring Boot应用程序。 当我想更新第二个应用的jar时,我停止了旧的jar,运行了新的jar,但我无法让它以上面的错误开始。然后我运行了同一个应用程序的旧罐子,它一开始就很好。我试着停止并重新启

  • 我们正在运行一个带有Spring Hibernate MySql的J2EE应用程序,该应用程序在内部使用C3P0和Connector/J进行连池。 C3P0 C3P0配置 我的应用程序在一段时间后内部调用存储过程,我遇到以下错误 错误日志 现在,当我查看数据库日志时,我发现大多数查询都处于“创建排序索引”状态,如下所示 有人能帮我吗... 编辑 1.c3p0初始化日志