记weblogic JDBC 'No operations allowed after statement closed' 缘由

在系统集成测试中,开发人员遇到由于数据库连接关闭导致的测试失败问题。尽管配置了连接池检查,但长时间未使用的连接在第二天测试时失效。原因可能是大量长时间无访问的连接在周期性检查时无法全部测试到,导致连接无效。此问题主要出现在测试环境中,解决方案未给出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

平台应用开发人员向我们平台报了一个issue,说在测试他们应用的时候遇到一个奇怪的问题,系统报了undefinedexception(开发人员自定义的exception,捕捉了jpa exception之后发现无法处理的情况下就抛出未定义异常),他们贴出了weblogic里面报出的异常栈信息:

<Sep 17, 2014 7:56:45 AM SAST> <Error> <org.hibernate.transaction.JDBCTransaction> <BEA-000000> <Could not toggle autocommit
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 33,177,390 milliseconds ago.  The last packet sent successfully to the server was 4 milliseconds ago.
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:395)
	Truncated. see log file for complete stacktrace

Caused By: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
	at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3052)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3503)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3492)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4043)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(Mysql
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值