Controlling XA call flow order with XAD entry names when TXSeries region configured with multiple resource managers
Nageswararao V Gokavarapu 2700013B8D Visits (3405)
When you have multiple resource managers like RDBMS (DB2 or Oracle) and a Messaging System like WebSphere MQ are configured to TXSeries region and if a transaction running on CICS region updates these resources, the CICS application makes XA calls to COMMIT the resources. The COMMIT call to each resource manager will happen in a serialized way. Suppose if you want COMMIT DB2 update before WebSphere MQ queue messaging update, the XA call flow to DB2 should happen before the WMQ.
Now we will discuss in TXSeries how we can control the flow of the XA calls and COMMIT updates. The XA operation order in which it select the resource manager is based on XAD definition entry name ASCII value. TXSeries runtime loads the XAD entries in ascending order of ASCII value equivalent of XAD entries. For example in the XAD stanza file entry, AABB is loaded first when compared to BBCC as the ASCII value of AABB is less than BBCC.
If a region is configured with multiple resource managers like DB2 & WebSphere Message Queue (or Oracle & WebSphere Message Queue), while committing the transaction data, XA_COMMIT request will be serialized and first XA_COMIT call would flow to the XAD entry which is loaded first to the TXSeries runtime.