java - 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
解决方案
推荐阅读
- typescript - 简单的绝对导入导致“找不到模块”错误
- reactjs - 变量不会在组件上更新
- mysql - 没有得到行的总和
- r - 数据帧值的闪亮动态单选按钮
- swift - 如何在 swift 中使用 UISegmentedControl 重新加载数据 UITableView
- pyspark - orderBy 如何影响 Pyspark 数据框中的 Window.partitionBy?
- c# - 使用 C# 读取 excel CSV 文件中的特定列
- sql-server - SQL Server 将小数 (18,2) 保存为 0,00 而不是 0.00
- java - 如何一次性保存父母和孩子(JPA & Hibernate)
- sql - Bigquery:使用 Group By 条件选择前 3 个