[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