主题 : Could not open Hibernate Session for transaction...
级别: 举人
UID: 4888
积分:112 加为好友
威望: 0 精华: 0
主题:7 回复:70
注册时间:2010-03-25
在线时长:0
1#   发表于:2012-02-23 11:11:25  IP:222.74.*.*
环境:  Apache 2.2   mod_jk集群负载,session复制已设置。
         Tomcat 6.0    5个
         mysql *
         samba       
         Jeecms 3.1.1
问题:
         部署网站后,访问时出现以下代码,按F5刷新后时好时坏:
         请问是否是因为session的问题导致无法连接到mysql,还是因为c3p0连接池不支持集群 session复制?
-----------------------------------------------------------------------------------------------------
           org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin failed: 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
com.jeecms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:38)


root cause 

org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin failed: 
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:596)
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371)
org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:335)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
$Proxy252.getListFromCache(Unknown Source)
com.jeecms.cms.web.FrontContextInterceptor.preHandle(FrontContextInterceptor.java:35)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:781)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
com.jeecms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:38)


root cause 

org.hibernate.TransactionException: JDBC begin failed: 
org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:96)
org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354)
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:555)
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371)
org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:335)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
$Proxy252.getListFromCache(Unknown Source)
com.jeecms.cms.web.FrontContextInterceptor.preHandle(FrontContextInterceptor.java:35)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:781)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
com.jeecms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:38)


root cause 

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 572,927 milliseconds ago.  The last packet sent successfully to the server was 0 milliseconds ago.
sun.reflect.GeneratedConstructorAccessor345.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:525)
com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3030)
com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2916)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3459)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1957)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2107)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2642)
com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5036)
com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:881)
org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:91)
org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354)
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:555)
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371)
org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:335)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
$Proxy252.getListFromCache(Unknown Source)
com.jeecms.cms.web.FrontContextInterceptor.preHandle(FrontContextInterceptor.java:35)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:781)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
com.jeecms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:38)


root cause 

java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2475)
com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2927)
com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2916)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3459)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1957)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2107)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2642)
com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5036)
com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:881)
org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:91)
org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354)
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:555)
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371)
org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:335)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
$Proxy252.getListFromCache(Unknown Source)
com.jeecms.cms.web.FrontContextInterceptor.preHandle(FrontContextInterceptor.java:35)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:781)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
com.jeecms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:38)
-------------------------------------------------------------------------------------------------------------------------------------------------
级别: 总版主
UID: 10736
积分:148515 加为好友
威望: 205 精华: 42
主题:287 回复:126217
注册时间:2010-09-08
在线时长:18.01
2#   发表于:2012-02-23 11:31:09  IP:115.172.*.*
很抱嫌,我还没有碰到过这样的问题。我会反映给我们技术部的
路漫漫其修远兮,吾将上下而求索!
级别: 举人
UID: 4888
积分:112 加为好友
威望: 0 精华: 0
主题:7 回复:70
注册时间:2010-03-25
在线时长:0
3#   发表于:2012-02-23 11:39:31  IP:222.74.*.*
您好,请问jeecms3.1.1或者更高版本在做集群负载时,是否要特殊设置或者要向你们寻求技术支持才可以?谢谢
级别: 总版主
UID: 10736
积分:148515 加为好友
威望: 205 精华: 42
主题:287 回复:126217
注册时间:2010-09-08
在线时长:18.01
4#   发表于:2012-02-23 11:50:50  IP:115.172.*.*
如果你要特殊要求,你得联系我们官网QQ
路漫漫其修远兮,吾将上下而求索!
1 共1页