首页 > 解决方案 > com.mysql.jdbc.CommunicationsException:通信链路故障(glassfish+mysql))

问题描述

我们将 glassfish-3.1.2.18 与 java 1.8.0_161 和 mysql 一起使用。应用程序会定期挂起(比如每 2 个月)。我们可以在日志中看到这个错误

==================================================== ============================ 最后一个数据包发送到服务器是 6 毫秒前。

堆栈跟踪:

com.mysql.jdbc.CommunicationsException:由于底层异常导致通信链接失败:

** 开始嵌套异常 **

java.io.EOFException MESSAGE:无法从服务器读取响应。预期读取 4 个字节,在连接意外丢失之前读取 0 个字节。

堆栈跟踪:

java.io.EOFException:无法从服务器读取响应。预期读取 4 个字节,在连接意外丢失之前读取 0 个字节。在 com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1997)

==================================================== ====================

最后它结束了

==================================================== ===================

java.lang.OutOfMemoryError:Java 堆空间

谁能帮我调试一下?我在我们的代码中看不到任何可能导致连接泄漏的问题。

一些背景信息:我们使用从 glassfish 中的 jdbc 连接池接收的 jdbc 连接。

问题始于在后台运行的石英作业。

堆空间错误堆栈:

org.quartz.SchedulerException:作业抛出未处理的异常。[参见嵌套异常:java.lang.OutOfMemoryError: Java heap space] at org.quartz.core.JobRunShell.run(JobRunShell.java:227) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549 ) 引起:java.lang.OutOfMemoryError: Java heap space

标签: javamysqlglassfish-3

解决方案


推荐阅读