[jboss-jira] [JBoss JIRA] (AS7-3016) Lazy enlistment of JMS Session does not work - UserTransaction implementation does not support it
Doug Grove (JIRA)
jira-events at lists.jboss.org
Mon Sep 24 14:25:35 EDT 2012
[ https://issues.jboss.org/browse/AS7-3016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12721116#comment-12721116 ]
Doug Grove commented on AS7-3016:
---------------------------------
I have the same issue for CMT and SessionContext. I have to get a QueueSession inside of the transactional method:
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void sendMessage() throws JMSException {
Logger.getLogger(SenderBean.class.getName()).log(Level.INFO, "Entering/Exiting sendMessage");
if (sender == null)
sender = session.createSender(queue);
ObjectMessage msg = session.createObjectMessage("testMsg");
sender.send(msg);
If I create the QueueSession in the beans init() method, then transactions do not propagate. Is this the same issue? Has this bee addressed?
Thanks much,
Doug
> 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: Stuart Douglas
> Priority: Blocker
> Fix For: 7.1.0.Final
>
> Attachments: usertransaction.patch, userTransactionRegistry.diff
>
>
> 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
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list