Could not open Hibernate Session for transaction
2014-11-07 09:41
204 查看
Could not open Hibernate Session for transaction
2010-04-19 09:22:22| 分类: Hibernate|举报|字号 订阅最近做一个项目,布暑后出现"Could not open Hibernate Session for transaction",大意是数据库连接超时,需要设置重连.在这里转一个网上找的解决方案:
spring2.x+hibernate3+struts2 在首次登陆系统时抛出的异常,再登陆就正常。
异常:
javax.servlet.ServletException: org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin failed:
root cause
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin failed:
解决方案:
1.
给jdbc url 增加 autoReconnect=true 一定能解决你的问题,可以定期观察一下 show processlist
改进方法如下:
<property name="url" value="jdbc:mysql://localhost/数据库实例名称?&useUnicode=true&characterEncoding=utf-8&autoReconnect=true"/>
2.
寻找支持重连的连接池。
注意:c3p0连接池支持重连;重连参数是:
idleConnectionTestPeriod 设置空闲连接测试周期
preferredTestQuery : 设置一查询语句,用于重连测试
testConnectionOnCheckin设置为true
testConnectionOnCheckout设置为true
在sessionFactory里配置:
<property name="hibernateProperties">
<props>
<prop key="hibernate.autoReconnect">true</prop>
</props>
</property>
相关文章推荐
- Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionExcep
- Could not open Hibernate Session for transaction, 数据库连接超时解决方法
- could not open hibernate session for transaction; nested exception is org.hibernate.exception.generi
- Could not open Hibernate Session for transaction
- Could not open Hibernate Session for transaction; nested exception is.....远程服务器部署后出现这个问题分析
- 解决Could not open Hibernate Session for transaction; nested exception is java.lang.NoClassDefFoundEr
- Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.Generi
- Could not open Hibernate Session for transaction
- Could not open Hibernate Session for transaction . or java.net.SocketException: Broken pipe
- Could not open Hibernate Session for transaction, 数据库连接超时解决方法
- Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionExcep
- Could not open Hibernate Session for transaction;
- Could not open Hibernate Session for transaction 解决方案
- 解决Could not open Hibernate Session for transaction
- 解决Could not open Hibernate Session for transaction问题
- Could not open Hibernate Session for transaction
- Could not open Hibernate Session for transaction, 数据库连接超时解决方法
- HTTP Status 500 - Could not open Hibernate Session for transaction; nested exception is org.hibernat
- HTTP Status 500 - Could not open Hibernate Session for transaction;
- jdbc:Could not open Hibernate Session for transaction