Quote:
But see your just throwing the term "distributed" in there. From the perspective of the transaction manager/coordinator, there is nothing distributed about this.
The transaction manager is aware about the the transactions being distributed (more than one datasource invloved) and has to follow the 2PC protocol. Some J2EE transaction managers are smart and if they detect that there's only one datasource involved in the transaction, the carry out optimizations and avoid the overheard of redo logs etc involved in the 2PC protocol.
Back to your original description of use of distributed transactions, I'd like to see supporting material to describe distributed transactions in such a way.
Quote:
Distibuted transactions are for scenarios where the transaction needs to encapsulate work on seperate VMs.
My understanding is that "distributed" refers to the fact that the datasources involved in the transaction are distributed i.e. different. In other words no matter how transactions propagate in the client (same VM or multiple VM's), a transaction is never distributed if it involves only one datasource.
A search for "distributed transactions" came up with several results. Here's one link
http://www.databasejournal.com/features ... hp/1550951