Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数据库连接正在关闭_Java_Spring_Hibernate_Tomcat_Jdbc - Fatal编程技术网

Java 数据库连接正在关闭

Java 数据库连接正在关闭,java,spring,hibernate,tomcat,jdbc,Java,Spring,Hibernate,Tomcat,Jdbc,从Spring hibernate应用程序中,我们触发了一个存储过程,执行该过程大约需要30分钟。当它返回时,Spring尝试提交事务,因为我们使用Spring事务管理,它失败了,下面的异常表示连接已关闭 我们使用的是tomcat服务器,应用程序中的连接在tomcat JDBC连接池中进行管理 Caused by: org.springframework.transaction.TransactionSystemException: Could not commit Hibernate tran

从Spring hibernate应用程序中,我们触发了一个存储过程,执行该过程大约需要30分钟。当它返回时,Spring尝试提交事务,因为我们使用Spring事务管理,它失败了,下面的异常表示连接已关闭

我们使用的是tomcat服务器,应用程序中的连接在tomcat JDBC连接池中进行管理

Caused by: org.springframework.transaction.TransactionSystemException: Could not commit Hibernate transaction; nested exception is org.hibernate.TransactionException: commit failed
      at org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:588)
      at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:757)
      at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:726)
      at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:521)
      at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)
      at com.jpmchase.common.service.adjustment.impl.AdjustmentExistingRecServiceImpl$$EnhancerBySpringCGLIB$$c2ddfbc5.lockUnlockForExport(<generated>)
      at com.jpmchase.adjustment.existingRecord.delegate.AdjustmentExistingRecDelegate.processDataAndExportToExcel(AdjustmentExistingRecDelegate.java:1394)
      ... 25 more
Caused by: org.hibernate.TransactionException: commit failed
      at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:187)
      at org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:584)
      ... 36 more
Caused by: org.hibernate.TransactionException: unable to commit against JDBC connection
      at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doCommit(JdbcTransaction.java:116)
      at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:180)
      ... 37 more
Caused by: java.sql.SQLException: Connection oracle.jdbc.driver.T4CConnection@7c035c41 is closed.
      at org.apache.tomcat.dbcp.dbcp.DelegatingConnection.checkOpen(DelegatingConnection.java:398)
      at org.apache.tomcat.dbcp.dbcp.DelegatingConnection.commit(DelegatingConnection.java:334)
      at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.commit(PoolingDataSource.java:211)
      at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doCommit(JdbcTransaction.java:112).
原因:org.springframework.transaction.TransactionSystemException:无法提交Hibernate事务;嵌套异常为org.hibernate.TransactionException:提交失败
位于org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:588)
位于org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:757)
位于org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:726)
位于org.springframework.transaction.interceptor.TransactionSpectSupport.commitTransactionAfterReturning(TransactionSpectSupport.java:521)
位于org.springframework.transaction.interceptor.TransactionSpectSupport.invokeWithinTransaction(TransactionSpectSupport.java:291)
位于org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:179)上
位于org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:179)上
位于org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)
在com.jpmchase.common.service.adjustment.impl.AdjustmentExistingRecServiceImpl$$EnhancerBySpringCGLIB$$c2ddfbc5.lockUnlockForExport()上
在com.jpmchase.adjustment.existingRecord.delegate.AdjustmentExistingRecDelegate.processDataAndExportToExcel(AdjustmentExistingRecDelegate.java:1394)
... 25多
原因:org.hibernate.TransactionException:提交失败
位于org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:187)
位于org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:584)
... 36多
原因:org.hibernate.TransactionException:无法针对JDBC连接提交
位于org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doCommit(JdbcTransaction.java:116)
位于org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:180)
... 37多
原因:java.sql.SQLException:连接oracle.jdbc.driver。T4CConnection@7c035c41关门了。
位于org.apache.tomcat.dbcp.dbcp.DelegatingConnection.checkOpen(DelegatingConnection.java:398)
位于org.apache.tomcat.dbcp.dbcp.DelegatingConnection.commit(DelegatingConnection.java:334)
位于org.apache.tomcat.dbcp.dbcp.poolgDataSource$PoolGuardConnectionWrapper.commit(poolgDataSource.java:211)
位于org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doCommit(JdbcTransaction.java:112)。

请帮忙

这可能是因为您的hibernate连接超时。 您需要增加hibernate连接的超时时间


我不知道您使用的是哪家提供商,但谷歌搜索并找出如何更改超时时间应该不会太难

您应该在问题中添加更多的上下文,并在问题中更加具体。陈述你的假设和假设。你确定你没有在之前的过程中以某种方式关闭连接。。。这是否也存在于测试环境中?您的环境有什么不同吗?防火墙配置?这些是不同的机器吗?你是否有任何泄漏,连接无法返回池中?可能您的FW在测试和生产中配置不同。可能您的FW DROPS非活动连接,返回时会话无效?似乎是超时问题。在Tomcat日志中查找在此之前的一些错误。