Does Message Queue support transactions as well

I have very beginning question about MQ. As we all know using JTA/JTS can support a big transactions within distributed system, which may have many DBs or different sets of programs. Does MQ support the transactions like JTA/JTS does within a big distributed system as well?

Say, if I have a program set name A calling another program set B via MQ, both A and B share the same DB. B should make some data changes in the DB, and A can use the changed data after B is called (but the changes are not commited in B). For quotation popurs, after the whole process is done and necessary values are held, all things can be rolled back.

[642 byte] By [sujianqianga] at [2007-9-24]
# 1
It depends on the queue. MQSeries does, for example. What queue software are you using?
dcmintera at 2007-7-16 > top of java,Database Connectivity,Java Database Connectivity (JDBC)...
# 2
What we are using is IBM MQ on AS400, does it support too?
sujianqianga at 2007-7-16 > top of java,Database Connectivity,Java Database Connectivity (JDBC)...
# 3
Yes, MQ Series supports XA connections.
dcmintera at 2007-7-16 > top of java,Database Connectivity,Java Database Connectivity (JDBC)...
# 4
PS Note that ALL the resources that you want to involve in the transaction must support XA to be orchestrated as a single transaction.I'd suggest reading this excellent article too: http://www.eaipatterns.com/ramblings/18_starbucks.html
dcmintera at 2007-7-16 > top of java,Database Connectivity,Java Database Connectivity (JDBC)...