Table of Contents Previous Next PDF


Building the Oracle Tuxedo MQ Adapter

Building the Oracle Tuxedo MQ Adapter
This topic contains the following sections:
Overview
Object files for the Oracle Tuxedo MQ Adapter are included as part of the standard Oracle Tuxedo distribution. After customizing the $TUXDIR/udataobj/RM file with any values specific to the MQ installation being used, the Oracle Tuxedo administrator uses the buildmqadapter(1) command to build the MQ adapter executables. The Oracle Tuxedo administrator also needs to use the buildtms(1) command to build the TMS for the WebSphere MQ Resource manager. This chapter describes the process of building the MQ Adapter executables.
Pre-Build Considerations
The MQ Adapter for Oracle Tuxedo software is currently available on HP-UX, Solaris, AIX, Linux, and Windows versions of Oracle Tuxedo. Ports of Oracle Tuxedo to other platforms will include the MQ Adapter if WebSphere MQ is supported by IBM on the target platform.
The Oracle Tuxedo administrator should complete the following tasks before building the MQ Adapter TMS and adapter servers:
Setting Up the WebSphere MQ XA Compliant Resource Manager
The Oracle Tuxedo installation program attempts to add a sensible default line for WebSphere MQ 6.0 to the $TUXDIR/udataobj/RM file when installing Oracle Tuxedo. For example, on 32-bit Solaris, the installation program adds the following lines:
# WebSphere MQ 6.0
MQSeries_XA_RMI:MQRMIXASwitchDynamic: /opt/mqm/lib/libmqmxa.so /opt/mqm/lib/libmqm.so
(On other hardware platforms, the default library suffixes and locations may be different.)
As the Oracle Tuxedo administrator, you should review this information to determine if it is correct for your installation. You may need to modify the RM file information
On Windows NT, there is no standard installation location for WebSphere MQ, so the variable %MQMDIR% is used in the %TUXDIR%\udataobj\RM file. This variable should be set before building the MQ Adapter servers.
If using a 64-bit version of Oracle Tuxedo, be sure to link with libraries in the WebSphere MQ lib64 directory and not in the 32-bit lib directory, and be sure to link with the mqmxa64 library and not the mqmxa library.
Building the Oracle Tuxedo MQ Adapter Servers
To build the MQ adapter servers, execute the following commands as the Oracle Tuxedo administrator with write permission in the $TUXDIR/bin directory:
buildmqadapter -v
This command will install the TM_MQI, TM_MQO, and TMQUEUE_MQM servers in the $TUXDIR/bin directory. The -v option indicates that buildmqadapter will write the buildserver and compiler command lines used to link the 3 servers as part of its output.
Note:
Alternatively the MQ adapter servers can be built one at a time using the following commands:
buildTM_MQI -v -o $TUXDIR/bin/TM_MQI
buildTM_MQO -v -o $TUXDIR/bin/TM_MQO
buildTMQUEUE_MQM -v -o $TUXDIR/bin/TMQUEUE_MQM
(If building the servers one at a time, it is possible to specify $APPDIR instead of $TUXDIR/bin as the output directory.)
Building the TMS Server for the WebSphere MQ Resource Manager
Run the following command while in the $TUXDIR/bin directory to create the resource manager executable:
buildtms -o MQXA -r MQSeries_XA_RMI
(An alternate file name can be specified instead of MQXA if desired, and the output file can be placed in either $TUXDIR/bin or in $APPDIR.)
Note:
You must use the buildtms command to build the TMS Server.
Specifying MQ Adapter Server Group in the UBBCONFIG file
Add the following lines to the *GROUPS section of the UBBCONFIG file for the group used for the MQ Adapter for Oracle Tuxedo servers.
MQ_GROUP_NAME TMSNAME=MQXA TMSCOUNT=3
OPENINFO="MQSeries_XA_RMI:BEA.TEST.MANAGER"
In the above example, MQ_GROUP_NAME is the name of the group in which the MQ adapter servers are defined. Your application may use whatever name it wants for this group. The number of TMS servers in this group is 3. BEA.TEST.MANAGER is the name of the queue manager being used, and another name should be substituted if your queue manager is named something else.
Building Single-Threaded and Multi-Threaded TM_MQI
The single-threaded TM_MQI configuration and behavior remain the same as earlier releases. To build the single-threaded TM_MQI, neither $TUXDIR/udataobj/RM nor buildmqadapter and buildTM_MQI command line options need to be changed.
For multi-threaded TM_MQI, we provide special configuration for the command line options as well as the RM file. In the command line, an additional option "-t" is added for buildmqadapter and buildTM_MQI, to generate new multi-threaded TM_MQI. You can build multi-threaded TM_MQI using one of the following commands:
buildmqadapter -t -v
buildTM_MQI -t -v -o $TUXDIR/bin/TM_MQI
You need to change the $TUXDIR/udataobj/RM file by adding the link to MQ threaded library. For example, on Solaris (32-bit), the configuration is:
# WebSphere MQ
MQSeries_XA_RMI:MQRMIXASwitchDynamic: /opt/mqm/lib/libmqmxa_r.so /opt/mqm/lib/libmqm_r.so
Administrators should review this information to confirm its correctness.
Using MQ Client-Only Package
A new library libtuxmq_c* is provided for supporting IBM MQ client-only installation on Tuxedo MQ Adapter. When building Tuxedo MQ Adapter, you can use an additional option "-c" to link related libtuxmq_c* and MQ client libraries. See Listing 2‑1 for several building examples.
Listing 2‑1 Command Line Building Methods
buildmqadapter -c
buildTM_MQI -c -o $TUXDIR/bin/TM_MQI
buildTM_MQO -c -o $TUXDIR/bin/TM_MQO
buildTMQUEUE_MQM -c -o $TUXDIR/bin/ TMQUEUE_MQM
 
In addition, you need to change the $TUXDIR/udataobj/RM to build MQ Adapter with MQ client library. For example, on Solaris (64-bit) platform, do the following configuration:
MQSeriesXA_RMI:MQRMIXASwitchDynamic: /opt/mqm/lib64/libmqcxa64.so /opt/mqm/lib64/libmqic.so
You can also use the -t and -c options of buildmqadapter and buildTM_MQI commands together to generate multi-threaded TM_MQI with MQ client library. In this case, you need to change the $TUXDIR/udataobj/RM configuration to make sure the RM file is linking to necessary multi-threaded libraries. For example, on Solaris (64-bit) platform, do the following configuration:
MQSeries_XA_RMI:MQRMIXASwitchDynamic: /opt/mqm/lib64/libmqcxa64_r.so /opt/mqm/lib64/libmqic_r.so
To use client package, you also need to configure the UBBCONFIG file. In *GROUPS section, change the OPENINFO of the group used for MQ Adapter to:
OPENINFO="MQSeries_XA_RMI:channel=<YOUR_CHANNEL_NAME>,AXLIB=<PATH_TO_LIBTUX.SO>,trptype=TCP,conname=<MQ_SERVER_IPADDRESS(PORT)>,qmname=<Q_MANAGER_NAME>,tpm=TUXEDO"
For example:
GROUP2
LMID=simple GRPNO=2 TMSNAME=TMS_MQ OPENINFO="MQSeries_XA_RMI:qmname=SIMPLE.QMANAGER,channel=CHANNEL1,trptype=TCP,AXLIB=/opt/tuxedo12.1.1.0/lib/libtux.so,conname=10.10.10.2(1414),tpm=Tuxedo"
Post-Installation Procedures
After you complete the installation procedures for the MQ Adapter for Oracle Tuxedo, make sure the following has been done before continuing with the MQ Adapter configuration procedures:
 

Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.