![]() ![]() ![]() ![]() ![]() ![]() |
This chapter contains the following topics:
The Tuxedo MQ Adapter consists of three Tuxedo servers: a Tuxedo to WebSphere MQ server (TM_MQO), a WebSphere MQ to Tuxedo server (TM_MQI), and a server for handling tpenqueue()
and tpdequeue()
requests (TMQUEUE_MQM). You must identify each of the servers that you intend to use in the TUXEDO UBBCONFIG file. In addition, the MQ Adapter requires that certain parameters be set for each server. You define these parameters in a server configuration file. A sample configuration file for each server is shown in this document. You can use these sample configuration files as a base and insert the specific information required for your environment.
The following sections describe how to identify each of the servers in the TUXEDO UBBCONFIG file, and how to set up the configuration file required by the MQ Adapter for each of these servers.
TM_MQO routes all requests for WebSphere MQ services from TUXEDO clients. It interacts with WebSphere MQ via the Message Queue Interface (MQI) by enqueuing and dequeuing service requests and responses. The MQI is a common application programming interface that all WebSphere MQ applications implement.
You define the TM_MQO server in the SERVERS section of the TUXEDO UBBCONFIG file as follows:
*SERVERS
TM_MQO SRVGRP="identifier" SRVID="number"
CLOPT="-- -C configuration_file_name"
For SRVGRP
, SRVID
, and CLOPT
parameter syntax and definitions information, see
File Formats, Data Descriptions, MIBs, and System Processes Reference.
CLOPT= "-- -C Tuxedo to WebSphere MQ configfile"
specifies the server's configuration file.
A configuration file provides a list of services and their associated parameters to the server at startup. See Creating the Server Configuration Files for an explanation of the parameters you need to define.
Tuxedo has defined FML32 fields for TM_MQO in the $TUXDIR/udataobj/Usysfl32
field definition table and in the $TUXDIR/include/Usysfl32.h
header file. The Tuxedo MQ Adapter uses FML32 functions to manipulate fielded buffers related to errors. For more information about FML32 programming, see the Programming a BEA Tuxedo ATMI Application Using FML.
The syntax for the field definition table for TM_MQO is as follows:
# name number type flags comments
TPMQ_ADAPTER_ERR `n' string - -
TPMQ_ADAPTER_ERR_CODE `n' string - -
TPMQ_APP_ERR `n' string - -
These FML32 fields are used as follows:
These fields are defined in $TUXDIR/udataobj/Usysfl32
and in $TUXDIR/include/Usysfl32.h
. (If an interoperating client running Tuxedo 9.1 or earlier wants to use these fields, the client will need to define these fields using the same field numbers as in later versions of Tuxedo.).
The environment variables FLDTBLDIR32 and FIELDTBLS32 should be set so that the system will look in $TUXDIR/udataobj/Usysfl32
for FML32 field definitions.
TM_MQI forwards messages requested from WebSphere MQ applications to TUXEDO services. The application queues a request to a designated queue that is monitored by TM_MQI. The requested service is specified in the message descriptor. Like TM_MQO, TM_MQI must perform data and semantic transformations on the data stored on a queue before delivering it to a service. It must do the same to replies.
You define the TM_MQI server in the SERVERS section of the TUXEDO UBBCONFIG file as follows:
*SERVERS
identifier
TM_MQI SRVGRP="" SRVID="number" REPLYQ=N
CLOPT="-- -C configuration_file_name"
For information about the SRVGRP, SRVID, REPLYQ, and CLOPT parameter syntax and definitions, refer to the BEA TUXEDO Reference Manual.
CLOPT= "-- -C WebSphere MQ to Tuxedo configfile"
specifies the server's configuration file.
A configuration file provides a list of queues and services and their associated parameters to the server at startup. See Creating the Server Configuration Files for an explanation of the parameters you need to define.
TMQUEUE_MQM processes the tpenqueue()
and tpdequeue()
requests from TUXEDO applications that need to send or retrieve data to or from an WebSphere MQ queue.
You define the TMQUEUE_MQM server in the SERVERS section of the TUXEDO UBBCONFIG file as follows:
*SERVERS
TMQUEUE_MQM SRVGRP="identifier" SRVID="number" REPLYQ=N CLOPT="-- -C configuration_file_name"
For information about the SRVGRP, SRVID, REPLYQ, and CLOPT parameter syntax and definitions, refer to the BEA TUXEDO Reference Manual.
CLOPT= "-- -C enqueue/dequeue configfile"
specifies the server's configuration file.
A configuration file provides a list of queues and their associated parameters to the server at startup. See Creating the Server Configuration Files for an explanation of the parameters you need to define.
You must create a configuration file for each of the three MQ Adapter servers. The documentation shows sample files you can use as a base for creating your own configuration files. You can substitute the parameter settings in the sample files with the settings required for your own environment.
The TM_MQO.CFG file controls the operation of the Tuxedo to WebSphere MQ server (TM_MQO). Following are the sections of the TM_MQO configuration file and the parameters you can define for each section. A sample configuration file follows the descriptions.
Note: | TM_MQO.CFG is a generic filename. You can name this file anything you choose, but the filename must match the -C configuration_file_name parameter you specify in the TUXEDO UBBCONFIG file. (See Configuring the Tuxedo to WebSphere MQ Server (TM_MQO) for instructions on configuring the TM_MQO server in the UBBCONFIG file.) |
The TM_MQO configuration file is divided into the following required sections:
The TM_MQO configuration file has one optional section:
These sections and the parameters within each section can be in any order in the configuration file, as long as the required sections and parameters are defined.
The syntax for the QUEUE_MANAGER section of the TM_MQO configuration file is as follows:
*QUEUE_MANAGER
NAME=string
LQMID=string
Note: | The configuration file can only have one QUEUE_MANAGER section. |
The following parameter must be included in the QUEUE_MANAGER section of the TM_MQO configuration file.
NAME= string
The following parameter is optional:
LQMID= string
The syntax for the SERVICE section of the TM_MQO configuration file is as follows:
*SERVICE
string
NAME=MQNAME=string
FORMAT=string
TRAN={Y/N}
MAXMSGLEN=integer
REPLYTOQ=string
TIMEOUT=integer
EXPIRE=integer
PRIORITY=integer
INFIELD=string
OUTFIELD=string
OUTFIELDVNAME=string
The following parameters must be included in the SERVICE section of the TM_MQO configuration file.
NAME = string
MQNAME = string
MAXMSGLEN = integer
TIMEOUT = integer
The following parameters are optional.
EXPIRE = integer
PRIORITY = integer
FORMAT = string
TRAN = {Y|N}
REPLYTOQ = string
INFIELD = string
OUTFIELD = string
OUTFIELDVNAME = view32name
The syntax for the SERVER section of the TM_MQO configuration file is as follows:
*SERVER
DEFTIMEOUT=integer
DEFMAXMSGLEN=integer
MINMSGLEVEL=integer
MAXMSGLEVEL=integer
There are no required parameters in the *SERVER section.
MINMSGLEVEL = integer
MAXMSGLEVEL = integer
Notes: |
MAXMSGLEVEL
is 100, however, the highest meaningful value for customer debugging is 30. All the higher values should (only) be used by Oracle Support for deeper analysis or debugging.MINMSGLEVEL
and MAXMSGLEVEL
are intended only for application debugging, and setting MAXMSGLEVEL
to a large value can result in excessive output to the ULOG, therefore they have to be used with caution.DEFMAXMSGLEN = integer
DEFTIMEOUT = integer
*SERVER
DEFTIMEOUT=60
DEFMAXMSGLEN=4096
MINMSGLEVEL=10
MAXMSGLEVEL=30
*QUEUE_MANAGER
LQMID=QM1
NAME=BEA.TEST.MANAGER
*SERVICE
NAME=MQTest1
TIMEOUT=20
MQNAME=TEST.SAMPLE.ECHO
REPLYTOQ=TEST.REPLY.QUEUE
*SERVICE
NAME=MQTest2
TIMEOUT=15
REPLYTOQ=TEST.REPLY.QUEUE
MQNAME=TEST.SAMPLE.TOUPPER
*SERVICE
NAME=MQTest3
MQNAME=TEST.NOREPLY.QUEUE
TRAN=Y
MAXMSGLEN=1024
The TM_MQI.CFG file controls the operation of the WebSphere MQ to Tuxedo server (TM_MQI). Following are the sections of the TM_MQI configuration file and the parameters you can define for each section. A sample configuration file follows the descriptions.
Note: TM_MQI.CFG is a generic filename. You can name this file anything you choose, but the filename must match the -C configuration_file_name parameter you specify in the TUXEDO UBBCONFIG file. (See Configuring the WebSphere MQ to Tuxedo Server (TM_MQI) for instructions on configuring the TM_MQI server in the UBBCONFIG file.)
The TM_MQI configuration file is divided into the following required sections:
The TM_MQI configuration file has one optional section:
These sections and the parameters within each section can be in any order in the configuration file, as long as the required sections and parameters are defined.
The syntax for the QUEUE_MANAGER section of the TM_MQI configuration file is as follows:
*QUEUE_MANAGER
NAME=string
LQMID=string
Note: | The configuration file can only have one QUEUE_MANAGER section. |
The following parameter must be included in the QUEUE_MANAGER section of the TM_MQO configuration file.
NAME = string
The following parameter is optional in the QUEUE_MANAGER section:
LQMID = string
The syntax for the QUEUE section of the TM_MQI configuration file is as follows:
*QUEUE
MQNAME=string
MAXMSGLEN=integer
SERVICE=string
The following parameter must be included in the QUEUE section of the TM_MQI configuration file:
MQNAME = string
The following parameters are optional:
MAXMSGLEN = integer
MaxMsgLength
value defined for the WebSphere MQ queue will be used.
SERVICE = string
There are no other parameters in the QUEUE section.
The syntax for the SERVICE section of the TM_MQI configuration file is as follows:
*SERVICE
NAME=string
FORMAT=string
TRAN={Y|N}
The following parameters must be included in the SERVICE section of the TM_MQI configuration file.
NAME = string
FORMAT = string
The following parameter is optional.
TRAN = {Y|N}
The syntax for the SERVER section of the TM_MQI configuration file is as follows:
*SERVER
MINMSGLEVEL=integer
MAXMSGLEVEL=integer
DEFMAXMSGLEN=integer
TPESVCFAILDATA={Y|N}POLINTERVAL=integer
Note: | The configuration file can only have one SERVER section. |
There are no required parameters in the SERVER section.
MINMSGLEVEL = integer
MAXMSGLEVEL = integer
Notes: |
MAXMSGLEVEL
is 100, however, the highest meaningful value for customer debugging is 30. All the higher values should (only) be used by Oracle Support for deeper analysis or debugging.MINMSGLEVEL
and MAXMSGLEVEL
are intended only for application debugging, and setting MAXMSGLEVEL
to a large value can result in excessive output to the ULOG, therefore they have to be used with caution.DEFMAXMSGLEN = integer
TPESVCFAILDATA = {Y|N}
tpcall()
will cause TM_MQI to send the original data sent to tpcall
to the MQ dead letter queue, if any.
If TPESVCFAILDATA=Y, then TM_MQI will return data to the caller's reply queue and will not send the original message to the MQ dead letter queue if tpcall()
fails with TPESVCFAIL and a non-zero length reply. TM_MQI will set Feedback in MQMD to MQFB_APPL_FIRST+TPESVCFAIL in this case. If a Tuxedo service call fails with zero-length data or with any value of tperrno
other than TPESVCFAIL, the original message will be sent to the Dead Letter Queue.
POLINTERVAL = integer
Listing 3-13 shows a TM_MQI Server configuration file example
*SERVER
MINMSGLEVEL=1
MAXMSGLEVEL=100
*QUEUE_MANAGER
LQMID=QM1
NAME=BEA.TEST.MANAGER
*SERVICE
NAME=SvcToupper
FORMAT=UPPER
*SERVICE
NAME=SvcEcho
FORMAT=ECHO
TRAN=Y
*QUEUE
MQNAME=TEST.SAMPLE.QUEUE1
MAXMSGLEN=200
*QUEUE
MQNAME=TEST.SAMPLE.QUEUE2
The TMQUEUE_MQM.CFG file controls the operation of the server that handles tpenqueue
and tpdequeue
requests (TMQUEUE_MQM). Following are the sections of the TMQUEUE_MQM configuration file and the parameters you can define for each section. A sample configuration file follows the descriptions.
Note: | TMQUEUE_MQM.CFG is a generic filename. You can name this file anything you choose, but the filename must match the -C configuration_file_name parameter you specify in the TUXEDO UBBCONFIG file. (See Configuring the TMQUEUE_MQM Server for instructions on configuring the TMQUEUE_MQM server in the UBBCONFIG file.) |
The TMQUEUE_MQM configuration file is divided into the following required sections:
The TMQUEUE_MQM configuration file has one optional section:
These sections and the parameters within each section can be in any order in the configuration file, as long as the required sections and parameters are defined.
The syntax for the QUEUE_MANAGER section of the TMQUEUE_MQM configuration file is as follows:
*QUEUE_MANAGER
NAME=string
LQMID=string
Note: | The configuration file can only have one QUEUE_MANAGER section. |
The following parameter must be included in the QUEUE_MANAGER section of the TMQUEUE_MQM configuration file:
NAME = string
LQMID = string
Listing 3-15 shows the syntax for the QUEUE section of the TMQUEUE_MQM configuration file.
*QUEUE
MQNAME=string
TUXNAME=string
MAXMSGLEN=integer
The following parameters must be included in the QUEUE section of the TMQUEUE_MQM configuration file.
MQNAME = string
TUXNAME = string
MAXMSGLEN = integer
Listing 3-16 shows the syntax for the SERVER section of the TMQUEUE_MQM configuration file.
*SERVER
MINMSGLEVEL=integer
MAXMSGLEVEL=integer
DEFMAXMSGLEN=integer
Note: | The configuration file can only have one SERVER section. |
There are no required parameters in the SERVER section.
MINMSGLEVEL = integer
MAXMSGLEVEL = integer
Notes: |
MAXMSGLEVEL
is 100, however, the highest meaningful value for customer debugging is 30. All the higher values should (only) be used by Oracle Support for deeper analysis or debugging.MINMSGLEVEL
and MAXMSGLEVEL
are intended only for application debugging, and setting MAXMSGLEVEL
to a large value can result in excessive output to the ULOG, therefore they have to be used with caution.DEFMAXMSGLEN = integer
Listing 3-17 shows TMQUEUE_MQM Server configuration file example.
*SERVER
DEFMAXMSGLEN=4096
*QUEUE_MANAGER
LQMID=QM1
NAME=BEA.TEST.MANAGER
*QUEUE
TUXNAME=MQTest1
MQNAME=TEST.NOREPLY.QUEUE
*QUEUE
TUXNAME=MQEcho
MQNAME=TEST.SAMPLE.ECHO
MAXMSGLEN=2048
*QUEUE
TUXNAME=MQReply
MQNAME=TEST.REPLY.QUEUE
You must configure the WebSphere MQ queue manager in order to run the MQ Adapter for Tuxedo. Refer to your WebSphere MQ documentation for specific instructions on configuring queue managers.
![]() ![]() ![]() |