[jboss-jira] [JBoss JIRA] (AS7-3016) Lazy enlistment of JMS Session does not work - UserTransaction implementation does not support it
Tom Jenkinson (Commented) (JIRA)
jira-events at lists.jboss.org
Wed Jan 4 10:00:13 EST 2012
[ https://issues.jboss.org/browse/AS7-3016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12653794#comment-12653794 ]
Tom Jenkinson commented on AS7-3016:
------------------------------------
I can't see why we can't use ServerVMClientUserTransaction, I didn't write the integration code (org.jboss.as.txn.service.ArjunaTransactionManagerService) and I don't believe I have access to the test case Jiri raised this with to verify it but I have built AS7 locally using "ServerVMClientUserTransaction(instance of an arjuna transaction manager)" and this seems to pass the smoke tests. Looking at the code it would seem to be safe too.
Would be interested to know why the original code did not use ServerVMClientUserTransaction. This could possibly be a question for:
* @author <a href="mailto:david.lloyd at redhat.com">David M. Lloyd</a>
* @author Thomas.Diesler at jboss.com
* @author Scott Stark (sstark at redhat.com) (C) 2011 Red Hat Inc.
As to what to do to resolve this, as I say I have a patch here (its +2 lines, -2 lines). I am reluctant to pull request it as I don't really own the integration code - I believe that is Stefano Maestri - and therefore would prefer Stefano to have the opportunity to provide some feedback.
> 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
>
>
> 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