請大家幫忙 關于異常: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配置如下









