What is the issue we face When we use XA sessions and transacted sessions (local and XA transactions) withrouted queues?
book
Article ID: KB0091946
calendar_today
Updated On:
Products
Versions
TIBCO Enterprise Message Service
-
Not Applicable
-
Description
Resolution: A simple test with XA/transacted session and routed queue may work. However such a configuration has problem(s) in some situations. EMS cannot guarantee to behave correctly in all situations with XA/transacted session and routed queue, so we officially documented against using XA sessions and transacted sessions (local and XA transactions) for routed queues.
One such known condition is that when a queue receiver at routed queue leaves a XA prepared txn and restarted and prepared txn of queue receiver is recovered and committed, committed msg is not removed from the queue.
To explain the above further, assume
- JMSD1 and JMSD2 are routed daemon - JMSD1 has queue queue.sample global - JMSD2 has queue queue.sample global@JMSD1
Now:
- send 1 msg on queue.sample - Start a queue receiver at JMSD2 to consume that msg in a XA txn and leave a prepare txn and exit. - Start queue receiver on JMSD2 again and recover its XA txn and commit it.
Now you will see: Commited msg still stays in the queue queue.sample
Issue/Introduction
What is the issue we face When we use XA sessions and transacted sessions (local and XA transactions) withrouted queues?