[
https://issues.jboss.org/browse/AS7-3016?page=com.atlassian.jira.plugin.s...
]
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