]
Tom Jenkinson commented on JBTM-2850:
-------------------------------------
During release of this we discovered that Artemis does not allow xa_end to be called on:
./build.sh -f testsuite/integration/smoke/pom.xml -Dtest=JMSBridgeTest
It returns XAER_PROTO - after discussion with Mike we have provided a strict mode that
does not allow XAER_PROTO however as it should be safe to allow this from the duplicate
(consider non-JTA1.2 compliant XAR) we have disabled it by default. Other errors will be
reported.
Call xa_end on duplicate XAResource as per JTA 1.2 specification
----------------------------------------------------------------
Key: JBTM-2850
URL:
https://issues.jboss.org/browse/JBTM-2850
Project: JBoss Transaction Manager
Issue Type: Task
Components: JTA
Reporter: Tom Jenkinson
Assignee: Tom Jenkinson
Fix For: 5.5.5.Final
JTA 1.2 changed requirement:
"A transaction manager is, however, required to implicitly ensure the association of
any associated XAResource is ended, via the appropriate XAResource.end call, immediately
prior to completion;"
The change is that it no longer is confined to any associated ** resource **, but now
specifies any associated ** XAResource **
What is happening at the moment for two difference instance of an XAR but where isSameRM
is true:
Resource1 start TMNOFLAGS
DuplicateResource1 start TMJOIN
Resource2 start TMNOFLAGS
Resource1 end TMSUCCESS
Resource1 prepare
Resource2 end TMSUCCESS
Resource2 prepare
Resource1 commit
Resource2 commit
Post
https://java.net/jira/browse/JTA_SPEC-3 this should be:
Resource1 start TMNOFLAGS
DuplicateResource1 start TMJOIN
Resource2 start TMNOFLAGS
Resource1 end TMSUCCESS
DuplicateResource1 end TMSUCCESS
Resource1 prepare
Resource2 end TMSUCCESS
Resource2 prepare
Resource1 commit
Resource2 commit