I have question. It's clearly known that if we do not deal with multiple types of resources within a single transactions then we do not need XA Driver/ResourceManger (Distributed Txns), we only need non-XA Driver in these scenarios (Local transactions).
My question is, when we develop the application, there are comparatively very few situations deal with multiple types of resources that need distributed transactions (say, db operation and JMS operation in single trasanction), rest all dealing only with single transactional resource, (say, update single database) which do not need XA-Transaction. In this case, which is better way from the below options:
1) Have only XA Driver for both distributed and local transactions.
2) Have XA Diver for distributed transactions and Non-XA Driver for local transaction (Application is going to have 2 Data Sources for
Is there any performance improvement when we use 2nd option?
What is industry practise?
Thanks in advance,
posted 5 years ago
If you use XA, the transaction manager is smart enough to decide when to use 2PC...meaning that if you only access a single resource, it won't start 2PC.