Universal Messaging 10.1 | Developer Guide | Enterprise APIs | Enterprise Developer's Guide for Java | Provider for JMS | Support for XA Transactions
Support for XA Transactions
Universal Messaging's Provider for JMS has a restriction in the area of XA transactions. Specifically, while Universal Messaging provides support for all the required XA interfaces, the first (prepare) phase of the XA two-phase commit protocol is not fully supported. This means that:
1. In non-failure cases, XA transactions including Universal Messaging steps will work as expected.
2. If there is only a single Universal Messaging step in a multi-part XA transaction and the Universal Messaging step is the first to be committed, the XA transaction will work as expected even if it fails and has to be rolled back.
3. In the case above, rollback of the Universal Messaging step may not fully match the expected XA transaction behavior.
4. In all other failure cases, the expected XA transaction behavior is not guaranteed.
The use of XA transactions with Universal Messaging is not recommended unless your application can be written to be tolerant of these limitations.