+

Search Tips | Advanced Search

Configure XA-compliant transaction managers

First configure the IBM MQ base client, then configure the extended transactional function using the information in these topics.

Note: This section assumes that we have a basic understanding of the XA interface as published by The Open Group in Distributed Transaction Processing: The XA Specification. To configure an extended transactional client, you must first configure the IBM MQ base client as described in:

Using the information for your platform, we can then configure the extended transactional function for an XA-compliant transaction manager such as CICSĀ® and Tuxedo.

A transaction manager communicates with a queue manager as a resource manager using the same MQI channel as that used by the client application that is connected to the queue manager. When the transaction manager issues a resource manager (xa_) function call, the MQI channel is used to forward the call to the queue manager, and to receive the output back from the queue manager.

Either the transaction manager can start the MQI channel by issuing an xa_open call to open the queue manager as a resource manager, or the client application can start the MQI channel by issuing an MQCONN or MQCONNX call.

In a recovery situation following a failure, when no client applications are running, the transaction manager can use a dedicated MQI channel to recover any incomplete units of work in which the queue manager was participating at the time of the failure. Note the following conditions when using an extended transactional client with an XA-compliant transaction manager:

To configure the extended transactional function, you must provide the following information to the transaction manager for each queue manager that acts as a resource manager:

When the transaction manager calls xa_open to open the queue manager as a resource manager, it passes the xa_open string to the extended transactional client as the argument, xa_info, on the call. The extended transactional client uses the information in the xa_open string in the following ways:

For the format of an xa_open string, and for more details about how the information in the xa_open string is used by an extended transactional client, see The format of an xa_open string.

An XA switch structure enables the transaction manager to locate the xa_ functions provided by the extended transactional client, and specifies whether the queue manager uses dynamic registration. For information about the XA switch structures supplied with an extended transactional client, see The XA switch structures.

For information about how to configure the extended transactional function for a particular transaction manager, and for any other information about using the transaction manager with an extended transactional client, see the following sections: