XA resource managers
Use the XA resource manager queue manager properties page from the IBM MQ Explorer, or the XAResourceManager stanza in the qm.ini file, to specify the following information about the resource managers involved in global units of work coordinated by the queue manager.
Add XA resource manager configuration information manually for each instance of a resource manager participating in global units of work; no default values are supplied.
See Database coordination for more information about resource manager attributes.
- Name= name (mandatory)
- This attribute identifies the resource manager instance.
The Name value can be up to 31 characters in length. We can use the name of the resource manager as defined in its XA-switch structure. However, if you are using more than one instance of the same resource manager, you must construct a unique name for each instance. We can ensure uniqueness by including the name of the database in the Name string, for example.
IBM MQ uses the Name value in messages and in output from the dspmqtrn command.
Do not change the name of a resource manager instance, or delete its entry from the configuration information, once the associated queue manager has started and the resource manager name is in effect.
- SwitchFile= name (mandatory)
- The fully-qualified name of the load file containing the resource manager's XA switch structure.
If you are using a 64-bit queue manager with 32-bit applications, the name value should contain only the base name of the load file containing the resource manager's XA switch structure.
The 32-bit file will be loaded into the application from the path specified by ExitsDefaultPath.
The 64-bit file will be loaded into the queue manager from the path specified by ExitsDefaultPath64.
- XAOpenString= string (optional)
- The string of data to be passed to the resource manager's xa_open entry point. The contents of the string depend on the resource manager itself. For example, the string could identify the database that this instance of the resource manager is to access. For more information about defining this attribute, see: and consult your resource manager documentation for the appropriate string.
- XACloseString= string (optional)
- The string of data to be passed to the resource manager's xa_close entry point. The contents of the string depend on the resource manager itself. For more information about defining this attribute, see: and consult your database documentation for the appropriate string.
- ThreadOfControl=THREAD|PROCESS
- This attribute is mandatory for IBM MQ for Windows. The queue manager uses this value for serialization when it needs to call the resource manager from one of its own multithreaded processes.
- THREAD
- The resource manager is fully thread aware. In a multithreaded IBM MQ process, XA function calls can be made to the external resource manager from multiple threads at the same time.
- PROCESS
- The resource manager is not thread safe. In a multithreaded IBM MQ process, only one XA function call at a time can be made to the resource manager.
The ThreadOfControl entry does not apply to XA function calls issued by the queue manager in a multithreaded application process. In general, an application that has concurrent units of work on different threads requires this mode of operation to be supported by each of the resource managers.