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 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 will be 1, 2, 3, 4, 5, 6, but for others it might be 4, 5, 6, 1, 2, 3.

I guess this doesn't matter since the JMS message order guarantee doesn't apply after rollback anyway, but good to know.

I guess some users (wrongly) might expect messages to go back in the queue in the order they were consumed.

Mark Little wrote:
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). So JTA or JTS won't help you here. However, if you want to look at JBossTransactions specifics, then that can help you: we give you full control over the ordering of participants.

Mark.


Tim Fox wrote:

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 XAResources.

Are there any guarantees on the order in which rollback() is called on the resources, or is this up to the transaction manager implementation?

E.g. is rollback always called in the same order the resources were enlisted?





-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to