Home
Summarizing XA calls
Table 1 lists the calls that are made to the XA functions in a database client library as a result of the various MQI calls that control global units of work. This is not a complete description of the protocol described in the XA specification; we have provided it as a brief overview.
Note that xa_start and xa_end calls are always called by WebSphere MQ code in the application process, whereas xa_prepare, xa_commit, and xa_rollback are always called from the queue manager agent process, amqzlaa0.
The xa_open and xa_close calls shown in this table are all made from the application process. The queue manager agent process calls xa_open in the circumstances described in Error conditions.
Summary of XA function calls MQI call XA calls made with dynamic registration XA calls made without dynamic registration First MQBEGIN xa_open xa_open xa_startSubsequent MQBEGIN No XA calls xa_startMQCMIT (without ax_reg being called during the current global unit of work) No XA calls xa_end xa_prepare xa_commit xa_rollbackMQCMIT (with ax_reg being called during the current global unit of work) xa_end xa_prepare xa_commit xa_rollbackNot applicable. No calls are made to ax_reg in non-dynamic mode. MQBACK (without ax_reg being called during the current global unit of work) No XA calls xa_end xa_rollbackMQBACK (with ax_reg being called during the current global unit of work) xa_end xa_rollbackNot applicable. No calls are made to ax_reg in non-dynamic mode. MQDISC, where MQCMIT or MQBACK was called first. If they were not, MQCMIT processing is first done during MQDISC. xa_close xa_close Notes:
- For MQCMIT, xa_commit is called if xa_prepare is successful. Otherwise, xa_rollback is called.
Parent topic:
XA dynamic registration
fa13890_
Home