[jboss-jira] [JBoss JIRA] (AS7-3016) Lazy enlistment of JMS Session does not work - UserTransaction implementation does not support it
Jesper Pedersen (Commented) (JIRA)
jira-events at lists.jboss.org
Wed Jan 4 10:31:09 EST 2012
[ https://issues.jboss.org/browse/AS7-3016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12653804#comment-12653804 ]
Jesper Pedersen commented on AS7-3016:
--------------------------------------
It is basically a matter of which UserTransaction implementation that should be used. The internal listener in ServerVMClientUserTransaction is deprecated since the integration should be done through the UserTransactionRegistry instead. The question is which implementation on the TX side which supports that construct.
However, we can do
{code}
ServerVMClientUserTransaction usertx = ServerVMClientUserTransaction.getSingleton();
usertx.setUserTransactionRegistry(utrService.getValue());
{code}
for AS 7.1.
For Narayana the best solution is that the SPI lives with the implementation and all deprecated classes/methods are removed. Or even we design a complete new SPI, that are more in line with the design of AS7 service architecture.
> Lazy enlistment of JMS Session does not work - UserTransaction implementation does not support it
> -------------------------------------------------------------------------------------------------
>
> Key: AS7-3016
> URL: https://issues.jboss.org/browse/AS7-3016
> Project: Application Server 7
> Issue Type: Bug
> Components: Transactions
> Affects Versions: 7.1.0.Beta1b
> Reporter: Jiri Pechanec
> Assignee: Tom Jenkinson
> Priority: Blocker
> Fix For: 7.1.0.Final
>
> Attachments: usertransaction.patch
>
>
> This test case was identified in TCK6. There is a MDB with CMT configured - com/sun/ts/tests/jms/ee/mdb/xa
> The testsuite sends a message to MDB
> MDB
> 1) creates a QueueSession
> 2) Start UT
> 3) Send a message
> 4) Rollback UT
> 5) Start UT
> 6) Send a message
> 7) commit UT
> Unfortunately the semantics is broken as QueueSession is not enlisted into transactions.
> The enlistment is done when UserTransaction emits a notification org/jboss/tm/usertx/UserTransactionRegistry. The enlistment is done by JCA component which receives the notification and enlists all active XAResources.
> Unfortunately the notification is emitted by org/jboss/tm/usertx/client/ServerVMClientUserTransaction. Unfortunately org/jboss/as/txn/service/ArjunaTransactionManagerService hard-codes com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple which does not have this capability.
> It is necessary to support this scenario as it is tested in TCKs.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list