2 liu825871054 liu825871054 于 2014.01.25 09:16 提问

JDBC commit failed数据库连接关闭

之前软件在Server 2003 32位服务器上运行正常,换了dellR720 64位服务器以后,平均10个小时会报一次以上错误Servlet.service() for servlet action threw exception org.springframework.transaction.TransactionSystemException: Could not commit Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC commit failed
Caused by: com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Connection.close() has already been called. Invalid operation in this state.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)
at com.mysql.jdbc.Connection.getMutex(Connection.java:3640)
at com.mysql.jdbc.Connection.commit(Connection.java:2242)
at org.hibernate.transaction.JDBCTransaction.commitAndResetAutoCommit(JDBCTransaction.java:139)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:115),后来我把tomcat装到默认路径C:\Program Files(X86)底下,数据库也是在这,大约40小时报一次错,页面打印错误是HTTP500
The full stack trace of the root cause is available in the Apache Tomcat/6.0但是重启tomcat以后页面正常了,过一段时间又开始打印localhost.log文件了,这个错误有人说是由于数据库保持连接时间短,但是把那个时间设置长了又影响性能,求各位大神指导!!

服务器:dell R720 操作系统server2008 tomcat版本6.0.37,数据库用的mysql 5.0.27,实时数据采集用的twincat tcat_2100_1335

5个回答

u011013108
u011013108   2014.06.14 11:39

您好,我想问下您怎么解决的,我也遇到了这情况

abcd5150133
abcd5150133   2014.01.25 09:42

你难道用的都是安装版,不是zip包?

liu825871054
liu825871054 64位版本的我都试过了,不行的,我已经把各种组合都尝试了,我们的软件没有测试过64位上运行,所以比较坑
大约 4 年之前 回复
liu825871054
liu825871054 是呀!都是安装版
大约 4 年之前 回复
abcd5150133
abcd5150133   2014.01.25 10:03

建议全部换一套64为版本的软件试试!我之前也在server2008上安装过,自定义的路径没有问题呀……

yongchunchengyc
yongchunchengyc   2014.01.29 21:34
zhangkai090
zhangkai090   2016.07.28 14:28

求楼主解惑啊图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!