请大家帮忙 关于异常: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的事务管理器配置有关
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

47
48
配置如下:
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
>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
proxool配置如下