求解

04-03-04 commons
环境weblogic8.1,数据库oracle,

在消息Bean中调用Hibernate的

session.close()的时候抛出了下面的错误,请教是什么原因

21:16:54,480 WARN JDBCExceptionReporter:38 - SQL Error: 0, SQLState: null

21:16:54,480 ERROR JDBCExceptionReporter:46 - The transaction is no longer activ

e - status: 'Committed'. No further JDBC access is allowed within this transacti

on.

21:16:54,500 ERROR JDBCExceptionReporter:38 - Cannot close connection

java.sql.SQLException: The transaction is no longer active - status: 'Committed'

. No further JDBC access is allowed within this transaction.

at weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.j

ava:118)

at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.jav

a:127)

at weblogic.jdbc.wrapper.Connection.preInvocationHandler(Connection.java

:67)

at weblogic.jdbc.wrapper.JTSConnection_oracle_jdbc_driver_OracleConnecti

on.getWarnings(Unknown Source)

at net.sf.hibernate.impl.BatcherImpl.closeConnection(BatcherImpl.java:27

4)

at net.sf.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:3337)

at net.sf.hibernate.impl.SessionImpl.close(SessionImpl.java:504)

at com.whir.ezoffice.personalwork.innermailbox.ejb.InnerMailJMSBean.onMe

ssage(InnerMailJMSBean.java:45)

at weblogic.ejb20.internal.MDListener.execute(MDListener.java:382)

at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.

java:316)

at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)

at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)

at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)

at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)

at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

net.sf.hibernate.JDBCException: Cannot close connection

at net.sf.hibernate.impl.BatcherImpl.closeConnection(BatcherImpl.java:28

0)

at net.sf.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:3337)

at net.sf.hibernate.impl.SessionImpl.close(SessionImpl.java:504)

at com.whir.ezoffice.personalwork.innermailbox.ejb.InnerMailJMSBean.onMe

ssage(InnerMailJMSBean.java:45)

at weblogic.ejb20.internal.MDListener.execute(MDListener.java:382)

at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.

java:316)

at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)

at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)

at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)

at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)

at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

Caused by: java.sql.SQLException: The transaction is no longer active - status:

'Committed'. No further JDBC access is allowed within this transaction.

at weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.j

ava:118)

at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.jav

a:127)

at weblogic.jdbc.wrapper.Connection.preInvocationHandler(Connection.java

:67)

at weblogic.jdbc.wrapper.JTSConnection_oracle_jdbc_driver_OracleConnecti

on.getWarnings(Unknown Source)

at net.sf.hibernate.impl.BatcherImpl.closeConnection(BatcherImpl.java:27

4)

... 10 more

猜你喜欢