Hibernate插入数据时报Could not open Hibernate Session for transaction异常
来源:互联网 发布:网络推广这工作怎么样 编辑:程序博客网 时间:2024/05/09 14:32
在系统监控controller调用service把数据入库时,报了该异常:
最终确定是因为数据链接自动关闭,而不是spring和hibernate的问题。
解决办法是:打开数据库的重连接。
在sessionFactory里配置:
在资源文件中加入:
经过多次长时间的测试,已经不再报该异常了
- ERROR [Timer-2] timer.SystemMonitoringTimer (SystemMonitoringTimer.java:92) - blingtel oops, got an exception:
- org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.jdbc.connections.spi.ConnectionProvider]
- at org.springframework.orm.hibernate4.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:440)
- at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371)
- at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:335)
- at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105)
- at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
- at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
- at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
- at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
- at $Proxy27.save(Unknown Source)
- at com.blingtel.oam.systemmonitoring.timer.SystemMonitoringTimer.run(SystemMonitoringTimer.java:88)
- at java.util.TimerThread.mainLoop(Timer.java:512)
- at java.util.TimerThread.run(Timer.java:462)
- Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.jdbc.connections.spi.ConnectionProvider]
- at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:126)
- at org.hibernate.internal.AbstractSessionImpl.getJdbcConnectionAccess(AbstractSessionImpl.java:255)
- at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.<init>(JdbcCoordinatorImpl.java:75)
- at org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.<init>(TransactionCoordinatorImpl.java:87)
- at org.hibernate.internal.SessionImpl.<init>(SessionImpl.java:237)
- at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1801)
- at org.hibernate.internal.SessionFactoryImpl.openSession(SessionFactoryImpl.java:1009)
- at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:597)
- at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:191)
- at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:176)
- at org.springframework.orm.hibernate4.SessionFactoryUtils.openSession(SessionFactoryUtils.java:114)
- at org.springframework.orm.hibernate4.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:340)
- ... 11 more
最终确定是因为数据链接自动关闭,而不是spring和hibernate的问题。
解决办法是:打开数据库的重连接。
在sessionFactory里配置:
- <prop key="hibernate.autoReconnect">${hibernate.autoReconnect}</prop>
在资源文件中加入:
- hibernate.autoReconnect=true
经过多次长时间的测试,已经不再报该异常了
0 0
- Hibernate插入数据时报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
- 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, 数据库连接超时解决方法
- SSH框架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问题
- Hibernage错误:Could not open Hibernate Session for transaction
- 解决Could not open Hibernate Session for transaction
- UIWebView和原生交互 JavaScriptCore
- 数论算法
- [Leetcode]Power of Three
- Spring Data Redis 让 NoSQL 快如闪电 (1)
- Oozie组件简介
- Hibernate插入数据时报Could not open Hibernate Session for transaction异常
- INFORMIX数据库下之模糊查询match
- bash环境变量的简单总结
- 日夜间模式切换
- git clone(early EOF index-pack faild)克隆代码文件过大
- 关于map集合的循环遍历
- 微信自动回复图片 api标准接口的 php代码
- Struts2 Struts.xml DTD 说明
- MATLAB绘制3D隐函数曲面的方法总结