3.7 Step 5: Create an XA Resource Manager

When using transactions in a Oracle Tuxedo CORBA application, you require to create a CORBA server process for the resource manager that interacts with a database on behalf of the Oracle Tuxedo CORBA application. The resource manager you use must conform to the X/OPEN XA specification and you require the following information about the resource manager:

  • The name of the structure of type xa_switch_t that contains the name of the XA resource manager.
  • Flags indicating the capabilities of the XA resource manager and function pointers for the actual XA functions.
  • The name of the object files that provide the services of the XA interface.
  • The commands required to open and close the XA resource manager. This information is specified in the OPENINFO and CLOSEINFO parameters in the UBBCONFIG configuration file.

When integrating a new XA resource manager into the Oracle Tuxedo system, the file $TUXDIR/udataobj/RM must be updated to include information about the XA resource manager. The information is used to include the correct libraries for the XA resource manager and to set up the interface between the transaction manager and the XA resource manager automatically and correctly. The format of this file is as follows:

rm_name : rm_structure_name : library_names

where rm_name is the name of the XA resource manager, rm_structure_name is the name of the xa_switch_t structure that defines the name of the XA resource manager, and library_names is the list of the object files for the XA resource manager. White space (tabs and/or spaces) is allowed before and after each of the values and may be embedded within the library_names. The colon (:) character may not be embedded within any of the values. Lines beginning with a pound sign (#) are treated as comments and are ignored.

Use the buildtms command to build a server process for the XA resource manager. The files that result from the buildtms command require to be installed in the $TUXDIR/bin directory.

For more information about the buildtms command, see the Oracle Tuxedo Command Reference in the Oracle Tuxedo online documentation.