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

3个回答

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
org.hibernate.TransactionException:JDBC commit failed
数据库是MYSQL5.0 最开始程序运行是没有问题的,但是tomcat开一段时间,大概1个小时以上,就会出现这个报错org.hibernate.TransactionException: JDBC commit failedrn at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.javarn:130)rn at com.timesports.hibernate.HibernateUtil.commitTransaction(HibernateUtirnl.java:66)rn at com.timesports.hibernate.DAO.basicDAO.BasicDAO.findObjectByHql(BasicDrnAO.java:123)rn at com.timesports.hibernate.DAO.basicDAO.PalceTableDAO.findPlaceField(ParnlceTableDAO.java:45)rn at com.timesports.service.book.BookFieldService.findByPlace(BookFieldSerrnvice.java:293)rn at com.timesports.struts.action.field.FieldAction.intoPlace(FieldAction.rnjava:48)rn at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)rn at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.rnjava:39)rn at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesrnsorImpl.java:25)rn at java.lang.reflect.Method.invoke(Method.java:585)rn at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchActiornn.java:276)rn at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:rn196)rn at org.apache.struts.action.RequestProcessor.processActionPerform(RequesrntProcessor.java:421)rn at org.apache.struts.action.RequestProcessor.process(RequestProcessor.jarnva:226)rn at org.apache.struts.action.ActionServlet.process(ActionServlet.java:116rn4)rn at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)rn at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)rn at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)rn at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplrnicationFilterChain.java:252)rn at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFrnilterChain.java:173)rn at com.timesports.util.sql.SetCharacterEncodingFilter.doFilter(SetCharacrnterEncodingFilter.java:27)rn at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplrnicationFilterChain.java:202)rn at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFrnilterChain.java:173)rn at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVrnalve.java:213)rn at org.apache.catalina.core.StandardContextValve.invoke(StandardContextVrnalve.java:178)rn at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jrnava:126)rn at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jrnava:105)rn at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValrnve.java:107)rn at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.javrna:148)rn at org.apache.coyote.http11.Http11Processor.process(Http11Processor.javarn:869)rn at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.prnrocessConnection(Http11BaseProtocol.java:664)rn at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpornint.java:527)rn at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFolrnlowerWorkerThread.java:80)rn at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPrnool.java:684)rn at java.lang.Thread.run(Thread.java:595)rnCaused by: com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Commurnnications link failure during commit(). Transaction resolution unknown.rn at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)rn at com.mysql.jdbc.Connection.commit(Connection.java:2203)rn at org.hibernate.transaction.JDBCTransaction.commitAndResetAutoCommit(JDrnBCTransaction.java:139)rn at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.javarn:115)rn ... 34 morernrn我的HibernateBasicDAO里面的查询方法内容如下:rnpublic List findObjectByHql(String hql,Object[] parameters,boolean lazy) rn try rn HibernateUtil.beginTransaction();rn Query queryObject = session.createQuery(hql);rn if(parameters!=null) rn for(int a =0;a
JDBC 连接数据库,关闭数据库连接
JDBC 连接数据库,关闭数据库连接
jdbc数据库连接和关闭
看一个java web项目JdbcUtils.java中有获取连接和关闭连接的方法rnpublic Connection getConnection() rn connection = DriverManager.getConnection("...."); return connection;rn和public void releaseConn()rn if (resultSet!=null) resultSet.close(); if(stmt!=null)...rn但是这个类中的其他方法并没有getConnection(),releaseConn(),为什么都能直接调用connection和自动关闭数据库链接呢。rn
JDBC封装数据库连接与关闭的工具类(含事务提示)
1.src目录下创建配置文件:db.properties,内容如下: jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8 jdbc.username=root jdbc.password=1234 1...
SVN 上传代码出现commit failed 和authorization failed
1.首先上传权限没问题,有读写权限,因为用别人可以上传的帐号在我的电脑上登录上传也会出现问题rn2.已经在save data 中清楚过用户数据,没有作用,在C盘中的用户\AppData\Roaming\Subversion中也清除过,没有解决问题。rn3.重新安装SVN和下载代码还是出现问题rn希望各位帮忙解答一下,谢谢[img=https://img-bbs.csdn.net/upload/201602/25/1456385223_603153.png][/img]
关于jdbc的commit
1.我觉得手动commit的程序比用autocommit的要快些,是我的错觉还是有什么原因?rn2.我一次更新n条记录,放在一个transaction里,记录里有一个最后更新时间的字段.那是不是这n条记录就都是一个最后更新时间?rn3.我把n条记录分m批用来用2里的办法更新,但是得到的最后更新时间还是都一样的,着是为什么呢?rnrnPS:我用的mysqlrnrn希望熟悉jdbc的高手解答一下~谢谢rn
JDBC关闭Oracle数据库连接会自动提交
在eclipse中调用Oracle中的存储过程(插入数据)遇到个问题:存储过程中,我没有写commit;调用存储过程的Java代码中关闭了自动提交事务,也没有写commit,然而运行java程序,结果是数据插入成功了。 下面是存储过程代码: CREATE OR REPLACE PROCEDURE sp_insert_record( v_empno IN emp.empno%TY...
JDBC 不能马上关闭数据库连接 CLOSE_WIAT
JDBC 不能马上关闭数据库连接,发生进程状态为 CLOSE_WIATrnrn我的机器上有300多个进程 发生 CLOSE_WIAT 导致机器cpu使用率100%rnrnlinux + tomcat5.0.28+jdk1.4.2
JDBC链接数据库,关闭数据库连接方法
jdbc的数据库链接方法,并且有简便的关闭类方法
注意JDBC数据库连接中资源关闭的顺序
在JDBC连接数据库时首先要获得connection,再通过它获得相应的statement,最后获得结果集resultset.这些过程都会占用内存资源,所以我们常常会在方法调用结束后关闭相应的资源节约内存空间。这时如果关闭的顺序不对,像下面这样,有时就会出现异常。 public static void closeAllResource(Connection conn,Statement st,Re...
JDBC数据库连接
今天来谈一下JDBC,一个很简单的东西。JDBC,全称java data base connectivity,即数据库连接 从概念上理解,也即把数据库中的数据获取到java环境中来进行各种处理。JDBC的过程总体可以分为6步 第一步:加载mysql驱动 Driver.class,这一步可以通过两种方式达到目的 1.DriverManager.registerDriver(new com.my
jdbc数据库连接
java数据库连接,利用oracle数据库,进行由登陆界面进入主页面
JDBC (数据库连接)
/*JdbcTool.java*/ package com.qrsx.tools; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;
JDBC与数据库连接
我在学java-web时用到的很有用的资料 适合初级学生。
jdbc与数据库连接
请问:我的数据库sid:ora8i,服务名:55,现在javaBean中要调用它java:comp/env/jdbc/? 问号地方写什么呀? 谢谢
Jsp连接Mysql
String driverName="com.mysql.jdbc.Driver";String userName="用户名";String userPwd="密码";String dbName="数据库名";String url1="jdbc:mysql://localhost:3306/"+dbName;String url2="?user="+userName+"&password=...
JDBC——数据库连接
JDBC 就是由 java提供的一套访问数据库的统一api.  使用这套api , 我们在 切换库时 十分方便. 并且切换库不会改变代码.学习成本也降低了. 1.开发一个jdbc程序 1> 导包 ==> 导入厂商提供的数据库驱动. ==> mysql-connector-java-5.0.8-bin.jar 2> 注册驱动  3> 连接数据库 4> 操作数据库(执行sql) 5
JDBC 与数据库连接
最近看了一些JSP,发现在JDBC不清楚,连接数据库不清楚,哪位高手推荐几个好的视频教程,在此谢谢了
JDBC之数据库连接
数据库操作加载数据库常用注册驱动方法,调用Class.forName()方法获取数据库连接:获取数据库连接:使用DriveteManeger.getConnection()准备sql语句执行sql语句处理结果集关闭数据库连接异常处理数据库连接Demo:package cn.woniuxueyuan.mysqldemo; import java.sql.Connection; import jav...
数据库连接 jdbc
数据库连接数据库连接数据库连接数据库连接
数据库连接JDBC
数据库连接JDBC幻灯片
数据库连接jdbc
几种常用的数据库jdbc: oracle:ojdbc6.jar; mysql:mysql-connector-java-5.1.43-bin.jar; sqlserver:sqlServer-jdbc-6.2.1.jre8.jar
数据库连接(JDBC)
JDBC全称 : java Date Base Connectivity ,意为:java数据库连接 jdbc的意义: 使用java代码来操作数据库 jdbc的实现:首先定义4个属性:(这是连接数据库的前提) 1.数据库的驱动类(要先引入包)driverclass = “oracle.jdbc.OracleDriver”; 2.连接数据库的url = “jdbc:oracle:thin:@1...
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件