请大家帮忙 关于异常:org.springframework.transaction.TransactionSystemException

请大家帮忙 关于异常:org.springframework.transaction.TransactionSystemException

最近在项目中间遇到一个棘手的问题,希望有经验的朋友能帮帮小弟,感激不尽。
具体问题是:在工程部署到tomcat,然后启动tamcat,登录工程,无任何问题,但是问题出在大概一个小时以后,重新访问工程,登录时抛出如下异常:

 1 Exception Type: org.springframework.transaction.TransactionSystemException 
 2
 3 网络正忙,请稍候再试!(RT) (Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed)
 4  
 5 org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
 6 org.hibernate.TransactionException: JDBC rollback failed
 7     at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java: 170 )
 8     at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java: 603 )
 9     at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java: 583 )
10     at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java: 560 )
11     at org.springframework.transaction.interceptor.TransactionAspectSupport.doCloseTransactionAfterThrowing(TransactionAspectSupport.java: 284 )
12     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java: 100 )
13     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java: 170 )
14     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java: 176 )
15     at $Proxy13.adminLogin(Unknown Source)
16     at com.imart.web.servlet.AdminLoginServlet.onLogin(AdminLoginServlet.java: 56 )
17     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39 )
19     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25 )
20     at java.lang.reflect.Method.invoke(Method.java: 585 )
21     at com.imart.web.core.servlet.AbstractServlet.invokeMethodDispatcher(AbstractServlet.java: 298 )
22     at com.imart.web.core.servlet.AbstractServlet.doGet(AbstractServlet.java: 210 )
23     at com.imart.web.core.servlet.AbstractServlet.doPost(AbstractServlet.java: 614 )
24     at javax.servlet.http.HttpServlet.service(HttpServlet.java: 709 )
25     at javax.servlet.http.HttpServlet.service(HttpServlet.java: 802 )
26     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 252 )
27     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 173 )
28     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 213 )
29     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 178 )
30     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 126 )
31     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 105 )
32     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 107 )
33     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 148 )
34     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 869 )
35     at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java: 664 )
36     at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java: 527 )
37     at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java: 80 )
38     at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java: 684 )
39     at java.lang.Thread.run(Thread.java: 595 )
40 Caused by: java.sql.SQLException: Couldn ' t perform the operation rollback: You can ' t perform any operations on  this  connection. It has been automatically closed by Proxool  for  some reason (see logs).
41     at org.logicalcobwebs.proxool.WrappedConnection.invoke(WrappedConnection.java: 207 )
42     at org.logicalcobwebs.proxool.WrappedConnection.intercept(WrappedConnection.java: 87 )
43     at oracle.jdbc.internal.ClientDataSupport$$EnhancerByCGLIB$$772388fb.rollback()
44     at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java: 183 )
45     at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java: 162 )
46       32  more
47  
48
不知这是否和spring的事务管理器配置有关
配置如下:
  1 < bean  id ="dataSource"
  2         class ="org.logicalcobwebs.proxool.ProxoolDataSource" >
  3          < property  name ="driver" >
  4              < value > ${jdbc.driver} </ value >
  5          </ property >
  6          < property  name ="driverUrl" >
  7              < value > ${jdbc.url} </ value >
  8          </ property >
  9          < property  name ="user" >
 10              < value > ${jdbc.username} </ value >
 11          </ property >
 12          < property  name ="password" >
 13              < value > ${jdbc.password} </ value >
 14          </ property >
 15          < property  name ="alias" >
 16              < value > ${proxool.alias} </ value >
 17          </ property >
 18          < property  name ="houseKeepingSleepTime" >
 19              < value > ${proxool.houseKeepingSleepTime} </ value >
 20          </ property >
 21          < property  name ="minimumConnectionCount" >
 22              < value > ${proxool.minimumConnectionCount} </ value >
 23          </ property >
 24          < property  name ="maximumConnectionCount" >
 25              < value > ${proxool.maximumConnectionCount} </ value >
 26          </ property >
 27          < property  name ="prototypeCount" >
 28              < value > ${proxool.prototypeCount} </ value >
 29          </ property >
 30          < property  name ="trace" >
 31              < value > ${proxool.trace} </ value >
 32          </ property >
 33          < property  name ="verbose" >
 34              < value > ${proxool.verbose} </ value >
 35          </ property >
 36      </ bean >
 37
 38
 39      <!--  Hibernate, ORM and common Interceptors  -->
 40      < bean  id ="sessionFactory"
 41         class ="org.springframework.orm.hibernate3.LocalSessionFactoryBean" >
 42          < property  name ="configurationClass" >
 43              < value > org.hibernate.cfg.AnnotationConfiguration </ value >
 44          </ property >
 45          < property  name ="configLocation" >
 46              < value > /WEB-INF/${hibernate.cfg} </ value >
 47          </ property >
 48          < property  name ="hibernateProperties" >
 49              < props >
 50                  < prop  key ="hibernate.dialect" >
 51                     ${hibernate.dialect}
 52                  </ prop >
 53                  < prop  key ="hibernate.show_sql" > ${jdbc.showsql} </ prop >
 54                  < prop  key ="hibernate.use_outer_join" > true </ prop >
 55                  < prop  key ="hibernate.format_sql" >
 56                     ${jdbc.formate_sql}
 57                  </ prop >
 58                  < prop  key ="hibernate.jdbc.batch_size" > 15 </ prop >
 59                  < prop  key ="hibernate.jdbc.fetch_size" > 5 </ prop >
 60                  < prop  key ="hibernate.default_batch_fetch_size" > 8 </ prop >
 61                  < prop  key ="hibernate.connection.release_mode" >
 62                     auto
 63                  </ prop >
 64              </ props >
 65          </ property >
 66          < property  name ="dataSource" >
 67              < ref  bean ="dataSource"   />
 68          </ property >
 69
 70      </ bean >
 71
 72
 73      < bean  id ="hibernateInterceptor"
 74         class ="org.springframework.orm.hibernate3.HibernateInterceptor" >
 75          < property  name ="sessionFactory" >
 76              < ref  bean ="sessionFactory"   />
 77          </ property >
 78      </ bean >
 79
 80      < bean  id ="transactionInterceptor"
 81         class ="org.springframework.transaction.interceptor.TransactionInterceptor" >
 82          < property  name ="transactionManager" >
 83              < ref  bean ="transactionManager"   />
 84          </ property >
 85          < property  name ="transactionAttributeSource" >
 86              < bean
 87                  class ="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"   />
 88          </ property >
 89      </ bean >
 90
 91      < bean  id ="transactionManager"
 92         class ="org.springframework.orm.hibernate3.HibernateTransactionManager" >
 93          < property  name ="sessionFactory" >
 94              < ref  local ="sessionFactory" ></ ref >
 95          </ property >
 96      </ bean >
 97
 98      < bean  id ="abstractTxDefinition"
 99         class ="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
100         lazy-init ="true" >
101          < property  name ="transactionManager" >
102              < ref  bean ="transactionManager"   />
103          </ property >
104          < property  name ="transactionAttributeSource" >
105              < bean
106                  class ="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource" >
107              </ bean >
108          </ property >
109      </ bean >
110
111
112      <!--  DAO  -->
113      < bean  id ="adminDAO"  class ="com.imart.model.dao.AdminDAO" >
114          < property  name ="sessionFactory" >
115              < ref  bean ="sessionFactory"   />
116          </ property >
117      </ bean >
118
119
120      < bean  id ="adminService"  parent ="abstractTxDefinition" >
121          < property  name ="proxyInterfaces" >
122              < value > com.imart.model.service.AdminService </ value >
123          </ property >
124          < property  name ="target" >
125              < bean  class ="com.imart.model.service.spi.AdminServiceImpl"
126                 init-method ="init" >
127              </ bean >
128          </ property >
129      </ bean >

proxool配置如下
#proxool setting
proxool.alias
= imart - sim
proxool.houseKeepingSleepTime
= 30000
proxool.minimumConnectionCount
= 5
proxool.maximumConnectionCount
= 1000
proxool.prototypeCount
= 5
proxool.trace
= false
proxool.verbose
= false
proxool.maximumActiveTime
= 300000
proxool.maximumConnectionLifetime
= 3060000000

你可能感兴趣的:(请大家帮忙 关于异常:org.springframework.transaction.TransactionSystemException)