The table below shows some cases where you can consider not using JTA/XA, and some trade-offs. In all other cases, JTA/XA offers significant benefits in terms of reliability and simplicity.

Scenario Feasibility without JTA/XA JTA/XA benefits
At most one resource access Safe, although system locks may keep the transaction pending Infinite locks are impossible because XA propagates transaction timeouts to the resource
Multiple resource accesses, but in same back-end system Safe if you use the same connection for each access - sharing data between different accesses may require thread-local manipulation of the shared connection handle, and commit handling is complex Data sharing is handled by XA
Multiple queries in different back-end systems Possible, though global correctness is not guaranteed because there is no global transaction concept: your transaction may be reading values that never existed in that combination Correct reads in all cases because locks will be kept for the global transaction - avoiding interleaving effects with other, concurrent transactions
Many back-ends Not safe: only do this if you are willing to face data loss in case of a crash No data loss or corruption

Corporate Information

Atomikos Corporate Headquarters
Hoveniersstraat, 39/1, 2800
Mechelen, Belgium

Contact Us

Copyright 2024 Atomikos BVBA | Our Privacy Policy
By using this site you agree to our cookies. More info. That's Fine