No, there's no guaranteed order (it can be different between transaction
instances and between commit phases). None of the standards provide for
it (going back beyond X/Open), and in fact that's one of the reasons
synchronizations were introduced as a separate protocol (to guarantee
ordering).
Thanks.
This means that if I create 2 JMS XASessions, enlist them in a global
tx, then receive messages 1, 2, 3 with session 1, and messages 4, 5, 6
in session2, then rollback the global tx, the messages will end up back
in the queue, but for some transaction managers the order in the queue
Yes, that's pretty much it. If you want to guarantee ordering you'll
have to do it with some intelligent interface between transactional
participants and the backend datastore (queue in this case). Or, use
JBossTS ;-)
Mark.
Tim Fox wrote:
Thanks.
This means that if I create 2 JMS
One of you transaction gurus may know the answer:
If I enlist 2 (or more) XAResources into a JTA transaction.
Transaction tx = tm.getTransaction();
tx.enlistResource(res1);
tx.enlistResource(res2);
Then I rollback the transaction, which causes rollback() to be called on
each of the