SQLException: Transaction is no longer active (status = Committed).
I am using TopLink 9.0.3 with a set of stateless session beans running in Weblogic 6.1 hitting an Oracle 8.x database. I am using the recommended approach for using the external trancaction controller but I am seeing the following errors when calling a method on a session bean that persists an object:
UnitOfWork(2028166)--JTS#beforeCompletion()
UnitOfWork(2028166)--#executeQuery(DataReadQuery())
UnitOfWork(2028166)--SELECT SEQUENCE_NUMBER.NEXTVAL FROM DUAL
UnitOfWork(2028166)--#reconnecting to external connection pool
UnitOfWork(2028166)--EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.DatabaseException
EXCEPTION DESCRIPTION: java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
INTERNAL EXCEPTION: java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
Strangely enough, this session bean method call works the first time it's called but then fails when I call it the second time. It seems there may be some issue with the transaction listener:
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion: sync=oracle.toplink.jts.wls.WebLogicSynchronizationListener@1609cc
EXCEPTION DESCRIPTION: java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
INTERNAL EXCEPTION: java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
ERROR CODE: 0 - with nested exception:
[EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.DatabaseException
EXCEPTION DESCRIPTION: java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
INTERNAL EXCEPTION: java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
It seems that TopLink is referencing then old transaction. Has anyone seen this issue? Any ideas?
Thanks,
Darcy Welsh.