]
Galder Zamarreno resolved JBAS-6116.
------------------------------------
Fix Version/s: JBossAS-5.0.0.GA
Resolution: Done
UserTransaction.commit()/rollback() are not fully compliant with the
JTA standard
---------------------------------------------------------------------------------
Key: JBAS-6116
URL:
https://jira.jboss.org/jira/browse/JBAS-6116
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Transaction Manager (JBossTM)
Affects Versions: JBossAS-4.2.3.GA, JBossAS-5.0.0.CR2
Reporter: Galder Zamarreno
Assignee: Galder Zamarreno
Fix For: JBossAS-5.0.0.GA
JTA spec says the following UserTransaction.rollback():
"Roll back the transaction associated with the current thread. When this method
completes, the thread becomes
associated with no transaction."
Currently though, the transaction propagation context (tpc) is only cleared upon
rollback() being called successfully.
If any exceptions arise from the rollback() call on the server, the tpc is not cleared,
leaving it lingering. A finally section
needs to be added to ClientUserTransaction.rollback() so that the tpc is cleared.
Similar thing happens with UserTransaction.commit()L
"When this method completes, the thread becomes associated with no transaction.
"
Currently though, the transaction propagation context (tpc) is only cleared upon commit()
being called successfully
or upon a RollbackException. If any exceptions arise from the commit() call on the
server, the tpc is not cleared, leaving
it lingering. A finally section needs to be added to ClientUserTransaction.commit() so
that the tpc is cleared.
Besides, handling of org.jboss.remoting.CannotConnectException needs adding to
rollback()/commit() to react in the
same way as for RemoteException.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: