Configuration - WebSphere MQ v7.5
- Configuration - Configuration reference
- Example configuration - IBM WebSphere MQ for Windows
- WebSphere MQ for Windows configuration
- Example configuration - IBM WebSphere MQ for AIX
- Example configuration - IBM WebSphere MQ for HP-UX
- Establish an LU 6.2 connection
- Establish a TCP connection
- WebSphere MQ for HP-UX configuration
- Channel configuration
- WebSphere MQ for HP-UX sender-channel definitions using SNA
- WebSphere MQ for HP-UX receiver-channel
- WebSphere MQ for HP-UX invokable TP setup
- WebSphere MQ for HP-UX sender-channel definitions using TCP
- WebSphere MQ for HP-UX receiver-channel
- Example configuration - IBM WebSphere MQ for Solaris
- Example configuration - IBM WebSphere MQ for Linux
- Queue names
- Other object names
- Queue name resolution
- What is queue name resolution?
- System and default objects
- Windows default configuration objects
- SYSTEM.BASE.TOPIC
- Configuration file stanzas for distributed queuing
- Channel attributes
- Channel attributes and channel types
- Channel attributes in alphabetical order
- Alter date (ALTDATE)
- Alter time (ALTTIME)
- Batch Heartbeat Interval (BATCHHB)
- Batch interval (BATCHINT)
- Batch size (BATCHSZ)
- Channel name (CHANNEL)
- Channel statistics (STATCHL)
- Channel type (CHLTYPE)
- Client channel weight (CLNTWGHT)
- Cluster (CLUSTER)
- Cluster namelist (CLUSNL)
- Cluster workload priority (CLWLPRTY)
- Cluster workload rank (CLWLRANK)
- Cluster workload weight (CLWLWGHT)
- Connection affinity (AFFINITY)
- Connection name (CONNAME)
- Convert message (CONVERT)
- Data compression (COMPMSG)
- Description (DESCR)
- Disconnect interval (DISCINT)
- Disposition (QSGDISP)
- Header compression (COMPHDR)
- Heartbeat interval (HBINT)
- Keepalive Interval (KAINT)
- Local Address (LOCLADDR)
- Long retry count (LONGRTY)
- Long retry interval (LONGTMR)
- LU 6.2 mode name (MODENAME)
- LU 6.2 transaction program name (TPNAME)
- Maximum instances (MAXINST)
- Maximum instances per client (MAXINSTC)
- Maximum message length (MAXMSGL)
- Message channel agent name (MCANAME)
- Message channel agent type (MCATYPE)
- Message channel agent user identifier (MCAUSER)
- Message exit name (MSGEXIT)
- Message exit user data (MSGDATA)
- Message-retry exit name (MREXIT)
- Message-retry exit user data (MRDATA)
- Message retry count (MRRTY)
- Message retry interval (MRTMR)
- Monitoring (MONCHL)
- Network-connection priority (NETPRTY)
- Nonpersistent message speed (NPMSPEED)
- Password (PASSWORD)
- PUT authority (PUTAUT)
- Queue manager name (QMNAME)
- Receive exit name (RCVEXIT)
- Receive exit user data (RCVDATA)
- Security exit name (SCYEXIT)
- Security exit user data (SCYDATA)
- Send exit name (SENDEXIT)
- Send exit user data (SENDDATA)
- Sequence number wrap (SEQWRAP)
- Short retry count (SHORTRTY)
- Short retry interval (SHORTTMR)
- SSL Cipher Specification (SSLCIPH)
- SSL Client Authentication (SSLCAUTH)
- SSL Peer (SSLPEER)
- Transmission queue name (XMITQ)
- Transport type (TRPTYPE)
- Use Dead-Letter Queue (USEDLQ)
- User ID (USERID)
- WebSphere MQ cluster commands
- Queue-manager definition commands
- Channel definition commands
- Queue definition commands
- DISPLAY CLUSQMGR
- SUSPEND QMGR, RESUME QMGR and clusters
- REFRESH CLUSTER
- RESET CLUSTER
- Workload balancing
- The cluster workload management algorithm
- CLWLPRTY queue attribute
- CLWLRANK queue attribute
- CLWLUSEQ queue attribute
- CLWLUSEQ queue manager attribute
- CLWLMRUC queue manager attribute
- CLWLPRTY channel attribute
- CLWLRANK channel attribute
- CLWLWGHT channel attribute
- NETPRTY channel attribute
- Cluster workload exit call and data structures
- MQ_CLUSTER_WORKLOAD_EXIT - Call description
- Parameters for MQ_CLUSTER_WORKLOAD_EXIT
- Usage notes
- Language invocations for MQ_CLUSTER_WORKLOAD_EXIT
- MQXCLWLN - Navigate Cluster workload records
- MQWXP - Cluster workload exit parameter structure
- MQWDR - Cluster workload destination record structure
- MQWQR - Cluster workload queue record
- MQWCR - Cluster workload cluster record
- Channel programs
Use the reference information in this section to help you configure WebSphere MQ.
The configuration reference information is provided in the following subtopics:
Example configuration information
The configuration examples describe tasks performed to establish a working WebSphere MQ network. The tasks are to establish WebSphere MQ sender and receiver channels to enable bidirectional message flow between the platforms over all supported protocols.
To use channel types other than sender-receiver, see the DEFINE CHANNEL command in MQSC reference .
Figure 1 is a conceptual representation of a single channel and the WebSphere MQ objects associated with it.
Figure 1. WebSphere MQ channel to be set up in the example configuration
This example is a simple one, intended to introduce only the basic elements of the WebSphere MQ network. It does not demonstrate the use of triggering which is described in Triggering channels .
The objects in this network are:
- A remote queue
- A transmission queue
- A local queue
- A sender channel
- A receiver channel
Appl1 and Appl2 are both application programs; Appl1 is putting messages and Appl2 is receiving them.
Appl1 puts messages to a remote queue. The definition for this remote queue specifies the name of a target queue manager, a local queue on that queue manager, and a transmission queue on this local queue manager.
When the queue manager receives the request from Appl1 to put a message to the remote queue, the queue manager determines from the queue definition that the destination is remote. It therefore puts the message, along with a transmission header, straight onto the transmission queue specified in the definition. The message remains on the transmission queue until the channel becomes available, which might happen immediately.
A sender channel has in its definition a reference to one, and one only, transmission queue. When a channel is started, and at other times during its normal operation, it looks at this transmission queue and send any messages on it to the target system. The message has in its transmission header details of the destination queue and queue manager.
The intercommunication examples describe in detail the creation of each of the preceding objects described, for various platform combinations.
On the target queue manager, definitions are required for the local queue and the receiver side of the channel. These objects operate independently of each other and so can be created in any sequence.
On the local queue manager, definitions are required for the remote queue, the transmission queue, and the sender side of the channel. Since both the remote queue definition and the channel definition refer to the transmission queue name, it is advisable to create the transmission queue first.
Network infrastructure in the example
The configuration examples assume that particular network infrastructures are in place for particular platforms:
- z/OS communicates by using a 3745 network controller (or equivalent) that is attached to a token ring
- Solaris is on an adjacent local area network (LAN) also attached to a 3745 network controller (or equivalent)
- All other platforms are connected to a token-ring network
It is also assumed that, for SNA, all the required definitions in VTAM and network control program (NCP) are in place and activated for the LAN-attached platforms to communicate over the wide area network (WAN).
Similarly, for TCP, it is assumed that name server function is available, either by using a domain name server or by using locally held tables (for example a host file).
Communications software in the example
Working configurations are given in the examples for the following network software products:
- SNA
- IBM Personal Communications for Windows V5.9
- IBM Communications Server for AIX, V6.3
- Hewlett-Packard SNAplus2
- IBM i
- Data Connection SNAP-IX Version 7 or later
- OS/390 Version 2 Release 4
- TCP
- Microsoft Windows
- AIX Version 4 Release 1.4
- HP-UX Version 10.2 or later
- Sun Solaris Release 2.4 or later
- IBM i
- TCP for z/OS
- HP Tru64 UNIX
- NetBIOS
- SPX
How to use the communication examples
The example-configurations describe the tasks that are carried out on a single platform to set up communication to another of the platforms. Then they describe the tasks to establish a working channel to that platform.
Wherever possible, the intention is to make the information as generic as possible. Thus, to connect any two queue managers on different platforms, you need to refer to only the relevant two sections. Any deviations or special cases are highlighted as such. You can also connect two queue managers running on the same platform (on different machines or on the same machine). In this case, all the information can be derived from the one section.
If you are using a Windows, UNIX or Linux system, before you begin to follow the instructions for your platform, you must set various environment variables. Set the environment variables by entering one of the following commands :
- On Windows:
MQ_INSTALLATION_PATH/bin/setmqenvwhere MQ_INSTALLATION_PATH refers to the location where WebSphere MQ is installed.
- On UNIX and Linux systems:
. MQ_INSTALLATION_PATH/bin/setmqenvwhere MQ_INSTALLATION_PATH refers to the location where WebSphere MQ is installed. This command sets the environment variables for the shell you are currently working in. If you open another shell, you must enter the command again.
There are worksheets in which you can find the parameters used in the example configurations. There is a short description of each parameter and some guidance on where to find the equivalent values in your system. When you have a set of values of your own, record these values in the spaces on the worksheet. As you proceed through the section, you will find cross-references to these values as you need them.
The examples do not cover how to set up communications where clustering is being used. For information about setting up communications while using clustering, see Configuring a queue manager cluster . The communication configuration values given here still apply.
There are example configurations for the following platforms:
- Example configuration - IBM WebSphere MQ for Windows
- Example configuration - IBM WebSphere MQ for AIX
- Example configuration - IBM WebSphere MQ for HP-UX
- Example configuration - IBM WebSphere MQ for Solaris
- Example configuration - IBM WebSphere MQ for Linux
IT responsibilities
To understand the terminology used in the examples, consider the following guidelines as a starting point.
- System administrator: The person (or group of people) who installs and configures the software for a specific platform.
- Network administrator: The person who controls LAN connectivity, LAN address assignments, network naming conventions, and other network tasks. This person can be in a separate group or can be part of the system administration group.
In most z/OS installations, there is a group responsible for updating the ACF/VTAM, ACF/NCP, and TCP/IP software to support the network configuration. The people in this group are the main source of information needed when connecting any WebSphere MQ platform to WebSphere MQ for z/OS. They can also influence or mandate network naming conventions on LANs and you must verify their span of control before creating your definitions.
- A specific type of administrator, for example CICS administrator, is indicated in cases where we can more clearly describe the responsibilities of the person.
The example-configuration sections do not attempt to indicate who is responsible for and able to set each parameter. In general, several different people might be involved.
Related concepts :
Example configuration information
Related information :
Example configuration - IBM WebSphere MQ for Windows
This section gives an example of how to set up communication links from WebSphere MQ for Windows to WebSphere MQ products.
Set up of communication links are shown on the following platforms:
- AIX
- HP Tru64 UNIX
- HP-UX
- Solaris
- Linux
- IBM i
- z/OS
- VSE/ESA
Establish an LU 6.2 connection
Reference to information about configuring AnyNet SNA over TCP/IP.
For the latest information about configuring AnyNet SNA over TCP/IP, see the following online IBM documentation: AnyNet SNA over TCP/IP , SNA Node Operations , and Communications Server for Windows
Establish a TCP connection
The TCP stack that is shipped with Windows systems does not include an inet daemon or equivalent.
The WebSphere MQ command used to start the WebSphere MQ for TCP listener is:
runmqlsr -t tcpThe listener must be started explicitly before any channels are started. It enables receiving channels to start automatically in response to a request from an inbound sending channel.
What next?
When the TCP/IP connection is established, you are ready to complete the configuration. Go to WebSphere MQ for Windows configuration .
Establish a NetBIOS connection
A NetBIOS connection is initiated from a queue manager that uses the ConnectionName parameter on its channel definition to connect to a target listener.
To set up a NetBIOS connection, follow these steps:
- At each end of the channel specify the local NetBIOS name to be used by the WebSphere MQ channel processes in the queue manager configuration file qm.ini. For example, the NETBIOS stanza in Windows at the sending end might look like the following:
NETBIOS: LocalName=WNTNETB1and at the receiving end:
NETBIOS: LocalName=WNTNETB2Each WebSphere MQ process must use a different local NetBIOS name. Do not use your system name as the NetBIOS name because Windows already uses it.
- At each end of the channel, verify the LAN adapter number being used on your system. The WebSphere MQ for Windows default for logical adapter number 0 is NetBIOS running over an Internet Protocol network. To use native NetBIOS you must select logical adapter number 1. See Establish the LAN adapter number .
Specify the correct LAN adapter number in the NETBIOS stanza of the Windows registry. For example:
NETBIOS: AdapterNum=1- So that sender channel initiation works, specify the local NetBIOS name by the MQNAME environment variable:
SET MQNAME=WNTNETB1IThis name must be unique.
- At the sending end, define a channel specifying the NetBIOS name being used at the other end of the channel. For example:
DEFINE CHANNEL (WINNT.OS2.NET) CHLTYPE(SDR) + TRPTYPE(NETBIOS) + CONNAME(WNTNETB2) + XMITQ(OS2) + MCATYPE(THREAD) + REPLACEYou must specify the option MCATYPE(THREAD) because, on Windows, sender channels must be run as threads.
- At the receiving end, define the corresponding receiver channel. For example:
DEFINE CHANNEL (WINNT.OS2.NET) CHLTYPE(RCVR) + TRPTYPE(NETBIOS) + REPLACE- Start the channel initiator because each new channel is started as a thread rather than as a new process.
runmqchi- At the receiving end, start the WebSphere MQ listener:
runmqlsr -t netbiosOptionally you can specify values for the queue manager name, NetBIOS local name, number of sessions, number of names, and number of commands. See Defining a NetBIOS connection on Windows for more information about setting up NetBIOS connections.
Establish an SPX connection
An SPX connection applies only to a client and server running Windows XP and Windows 2003 Server.
This section contains information about:
- IPX/SPX parameters
- SPX addressing
- Receiving on SPX
IPX/SPX parameters
Refer to the Microsoft documentation for full details of the use and setting of the NWLink IPX and SPX parameters. The IPX/SPX parameters are in the following paths in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\NWLinkSPX\Parameters HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\NWLinkIPX\Parameters
SPX addressing
WebSphere MQ uses the SPX address of each machine to establish connectivity. The SPX address is specified in the following form:
network.node(socket)where
- network
- Is the 4-byte network address of the network on which the remote machine resides,
- node
- Is the 6-byte node address, which is the LAN address of the LAN adapter in the remote machine
- socket
- Is the 2-byte socket number on which the remote machine listens.
The default socket number used by WebSphere MQ is 5E86. You can change the default socket number by specifying it in the Windows registry or in the queue manager configuration file qm.ini. The lines in the Windows registry might read:
SPX: SOCKET=nFor more information about values you can set in qm.ini, see Configuration file stanzas for distributed queuing .
The SPX address is later specified in the CONNAME parameter of the sender channel definition. If the WebSphere MQ systems being connected reside on the same network, the network address need not be specified. Similarly, if the remote system is listening on the default socket number (5E86), it need not be specified. A fully qualified SPX address in the CONNAME parameter is:
CONNAME('network.node(socket)')but if the systems reside on the same network and the default socket number is used, the parameter is:
CONNAME(node)A detailed example of the channel configuration parameters is given in WebSphere MQ for Windows configuration .
Receiving on SPX
Receiving channel programs are started in response to a startup request from the sending channel. To do this, a listener program has to be started to detect incoming network requests and start the associated channel.
You should use the WebSphere MQ listener.
Use the WebSphere MQ listener
To run the Listener supplied with WebSphere MQ, that starts new channels as threads, use the RUNMQLSR command. For example:
RUNMQLSR -t spxOptionally you can specify the queue manager name or the socket number if you are not using the defaults.
WebSphere MQ for Windows configuration
Example programs and commands for configuration.
Note:
- You can use the sample program, AMQSBCG, to show the contents and headers of all the messages in a queue. For example:
AMQSBCG q_name qmgr_nameshows the contents of the queue q_name defined in queue manager qmgr_name.Alternatively, you can use the message browser in the WebSphere MQ Explorer.
- You can start any channel from the command prompt using the command
runmqchl -c channel.name- Error logs can be found in the directories MQ_INSTALLATION_PATH\qmgrs\qmgrname\errors and MQ_INSTALLATION_PATH\qmgrs\@system\errors. In both cases, the most recent messages are at the end of amqerr01.log.
MQ_INSTALLATION_PATH represents the high-level directory in which WebSphere MQ is installed.
- When you are using the command interpreter runmqsc to enter administration commands, a + at the end of a line indicates that the next line is a continuation. Ensure that there is a space between the last parameter and the continuation character.
Default configuration
You can create a default configuration by using the WebSphere MQ Postcard application to guide you through the process.
For information about using the Postcard application, see Verify the installation using the Postcard application .
Basic configuration
You can create and start a queue manager from the WebSphere MQ Explorer or from the command prompt.
.If you choose the command prompt:
- Create the queue manager using the command:
crtmqm -u dlqname -q winntwhere:
- winnt
- Is the name of the queue manager
- -q
- Indicates that this is to become the default queue manager
- -u dlqname
- Specifies the name of the undeliverable message queue
This command creates a queue manager and a set of default objects.
- Start the queue manager using the command:
strmqm winntwhere winnt is the name given to the queue manager when it was created.
Channel configuration
Example configuration to be performed on the Windows queue manager to implement a given channel.
The following sections detail the configuration to be performed on the Windows queue manager to implement the channel described in Figure 1 .
In each case the MQSC command is shown. Either start runmqsc from a command prompt and enter each command in turn, or build the commands into a command file.
Examples are given for connecting WebSphere MQ for Windows and WebSphere MQ for AIX. To connect to WebSphere MQ on another platform use the appropriate set of values from the table in place of those for Windows.
Note: The words in bold are user-specified and reflect the names of WebSphere MQ objects used throughout these examples. If you change the names used here, ensure that you also change the other references made to these objects throughout this section. All others are keywords and should be entered as shown.
Configuration worksheet for WebSphere MQ for Windows
Parameter Name Reference Example Used User Value Definition for local node A Queue Manager Name WINNT B Local queue name WINNT.LOCALQ Connection to WebSphere MQ for AIX The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A AIX D Remote queue name AIX.REMOTEQ E Queue name at remote system B AIX.LOCALQ F Transmission queue name AIX G Sender (SNA) channel name WINNT.AIX.SNA H Sender (TCP) channel name WINNT.AIX.TCP I Receiver (SNA) channel name G AIX.WINNT.SNA J Receiver (TCP) channel name H AIX.WINNT.TCP Connection to MQSeries for HP Tru64 UNIX The values in this section of the table must match those used in your HP Tru64 UNIX system.
C Remote queue manager name A DECUX D Remote queue name DECUX.REMOTEQ E Queue name at remote system B DECUX.LOCALQ F Transmission queue name DECUX H Sender (TCP) channel name DECUX.WINNT.TCP J Receiver (TCP) channel name H WINNT.DECUX.TCP Connection to WebSphere MQ for HP-UX The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A HPUX D Remote queue name HPUX.REMOTEQ E Queue name at remote system B HPUX.LOCALQ F Transmission queue name HPUX G Sender (SNA) channel name WINNT.HPUX.SNA H Sender (TCP) channel name WINNT.HPUX.TCP I Receiver (SNA) channel name G HPUX.WINNT.SNA J Receiver (TCP/IP) channel name H HPUX.WINNT.TCP Connection to WebSphere MQ for Solaris The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A SOLARIS D Remote queue name SOLARIS.REMOTEQ E Queue name at remote system B SOLARIS.LOCALQ F Transmission queue name SOLARIS G Sender (SNA) channel name WINNT.SOLARIS.SNA H Sender (TCP) channel name WINNT.SOLARIS.TCP I Receiver (SNA) channel name G SOLARIS.WINNT.SNA J Receiver (TCP) channel name H SOLARIS.WINNT.TCP Connection to WebSphere MQ for Linux The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A LINUX D Remote queue name LINUX.REMOTEQ E Queue name at remote system B LINUX.LOCALQ F Transmission queue name LINUX G Sender (SNA) channel name WINNT.LINUX.SNA H Sender (TCP) channel name WINNT.LINUX.TCP I Receiver (SNA) channel name G LINUX.WINNT.SNA J Receiver (TCP) channel name H LINUX.WINNT.TCP C Remote queue manager name A AS400 D Remote queue name AS400.REMOTEQ E Queue name at remote system B AS400.LOCALQ F Transmission queue name AS400 G Sender (SNA) channel name WINNT.AS400.SNA H Sender (TCP) channel name WINNT.AS400.TCP I Receiver (SNA) channel name G AS400.WINNT.SNA C Remote queue manager name A MVS™ D Remote queue name MVS.REMOTEQ E Queue name at remote system B MVS.LOCALQ F Transmission queue name MVS G Sender (SNA) channel name WINNT.MVS.SNA H Sender (TCP) channel name WINNT.MVS.TCP I Receiver (SNA) channel name G MVS.WINNT.SNA C Remote queue manager name A QSG D Remote queue name QSG.REMOTEQ E Queue name at remote system B QSG.SHAREDQ F Transmission queue name QSG G Sender (SNA) channel name WINNT.QSG.SNA H Sender (TCP) channel name WINNT.QSG.TCP I Receiver (SNA) channel name G QSG.WINNT.SNA Connection to MQSeries for VSE/ESA The values in this section of the table must match those used in your VSE/ESA system.
C Remote queue manager name A VSE D Remote queue name VSE.REMOTEQ E Queue name at remote system B VSE.LOCALQ F Transmission queue name VSE G Sender channel name WINNT.VSE.SNA I Receiver channel name G VSE.WINNT.SNA WebSphere MQ for Windows sender-channel definitions using SNA
A code sample.
def ql ( AIX ) + F usage(xmitq) + replace def qr ( AIX.REMOTEQ ) + D rname( AIX.LOCALQ ) + E rqmname( AIX ) + C xmitq( AIX ) + F replace def chl ( WINNT.AIX.SNA ) chltype(sdr) + G trptype(lu62) + conname( AIXCPIC ) + 18 xmitq( AIX ) + F replaceWebSphere MQ for Windows receiver-channel definitions using SNA
A code sample.
def ql ( WINNT.LOCALQ ) replace B def chl ( AIX.WINNT.SNA ) chltype(rcvr) + I trptype(lu62) + replaceWebSphere MQ for Windows sender-channel definitions using TCP/IP
A code sample.
def ql ( AIX ) + F usage(xmitq) + replace def qr ( AIX.REMOTEQ ) + D rname( AIX.LOCALQ ) + E rqmname( AIX ) + C xmitq( AIX ) + F replace def chl ( WINNT.AIX.TCP ) chltype(sdr) + H trptype(tcp) + conname(remote_tcpip_hostname) + xmitq( AIX ) + F replaceWebSphere MQ for Windows receiver-channel definitions using TCP
A code sample.
def ql ( WINNT.LOCALQ ) replace B def chl ( AIX.WINNT.TCP ) chltype(rcvr) + J trptype(tcp) + replaceAutomatic startup
WebSphere MQ for Windows allows you to automate the startup of a queue manager and its channel initiator, channels, listeners, and command servers.
Use the IBM WebSphere MQ Services snap-in to define the services for the queue manager. When you have successfully completed testing of your communications setup, set the relevant services to automatic within the snap-in. This file can be read by the supplied WebSphere MQ service when the system is started.
For more information, see Administering WebSphere MQ .
Running channels as processes or threads
WebSphere MQ for Windows provides the flexibility to run sending channels as Windows processes or Windows threads. This is specified in the MCATYPE parameter on the sender channel definition.
Most installations run their sending channels as threads, because the virtual and real memory required to support many concurrent channel connections is reduced. However, a NetBIOS connection needs a separate process for the sending Message Channel Agent.
Multiple thread support - pipelining
You can optionally allow a message channel agent (MCA) to transfer messages using multiple threads. This process, called pipelining, enables the MCA to transfer messages more efficiently, with fewer wait states, which improves channel performance. Each MCA is limited to a maximum of two threads.
You control pipelining with the PipeLineLength parameter in the qm.ini file. This parameter is added to the CHANNELS stanza:
- PipeLineLength= 1 |number
- This attribute specifies the maximum number of concurrent threads a channel uses. The default is 1. Any value greater than 1 is treated as 2.
With WebSphere MQ for Windows, use the WebSphere MQ Explorer to set the PipeLineLength parameter in the registry. See The Channels stanza for a complete description of the CHANNELS stanza.
Note:
- PipeLineLength applies only to V5.2 or later products.
- Pipelining is effective only for TCP/IP channels.
When you use pipelining, the queue managers at both ends of the channel must be configured to have a PipeLineLength greater than 1.
Channel exit considerations
Pipelining can cause some exit programs to fail, because:
- Exits might not be called serially.
- Exits might be called alternately from different threads.
Check the design of your exit programs before you use pipelining:
- Exits must be reentrant at all stages of their execution.
- When you use MQI calls remember that you cannot use the same MQI handle when the exit is invoked from different threads.
Consider a message exit that opens a queue and uses its handle for MQPUT calls on all subsequent invocations of the exit. This fails in pipelining mode because the exit is called from different threads. To avoid this failure, keep a queue handle for each thread and check the thread identifier each time the exit is invoked.
Example configuration - IBM WebSphere MQ for AIX
This section gives an example of how to set up communication links from WebSphere MQ for AIX to WebSphere MQ products.
The following platforms are covered in the examples:
- Windows
- HP Tru64 UNIX
- HP-UX
- Solaris
- Linux
- IBM i
- z/OS
- VSE/ESA
See Example configuration information for background information about this section and how to use it.
Establish an LU 6.2 connection
Describes the parameters needed for an LU 6.2 connection.
For the latest information about configuring SNA over TCP/IP, refer to the following online IBM documentation: SNA and TCP/IP Integration and Communications Server for AIX .
Establish a TCP connection
The listener must be started explicitly before any channels are started. It enables receiving channels to start automatically in response to a request from an inbound sending channel.
The WebSphere MQ command used to start the WebSphere MQ for TCP listener is:
runmqlsr -t tcpAlternatively, if you want to use the UNIX supplied TCP/IP listener, complete the following steps:
- Edit the file /etc/services.
Note: To edit the /etc/services file, you must be logged in as a superuser or root. If you do not have the following line in that file, add it as shown:
MQSeries 1414/tcp # MQSeries channel listener- Edit the file /etc/inetd.conf. If you do not have the following line in that file, add it as shown, replacing MQ_INSTALLATION_PATH with the high-level directory in which WebSphere MQ is installed:
MQSeries stream tcp nowait root MQ_INSTALLATION_PATH/bin/amqcrsta amqcrsta [-m queue.manager.name]- Enter the command refresh -s inetd.
Note: You must add root to the mqm group. You need not have the primary group set to mqm. As long as mqm is in the set of groups, you can use the commands. If you are running only applications that use the queue manager you do not need mqm group authority.
What next?
The connection is now established. You are ready to complete the configuration. Go to WebSphere MQ for AIX configuration .
WebSphere MQ for AIX configuration
Defining channels to complete the configuration.
Note:
- Before beginning the installation process ensure that you have first created the mqm user and group, and set the password.
- If installation fails as a result of insufficient space in the file system you can increase the size as follows, using the command smit C sna. (Use df to display the status of the file system. This indicates the logical volume that is full.)
-- Physical and Logical Storage -- File Systems -- Add / Change / Show / Delete File Systems -- Journaled File Systems -- Change/Show Characteristics of a Journaled File System- Start any channel using the command:
runmqchl -c channel.name- Sample programs are installed in MQ_INSTALLATION_PATH/samp, where MQ_INSTALLATION_PATH represents the high-level directory in which WebSphere MQ is installed.
- Error logs are stored in /var/mqm/qmgrs/qmgrname/errors.
- On AIX, you can start a trace of the WebSphere MQ components by using standard WebSphere MQ trace commands, or using AIX system trace. See Using trace for more information about WebSphere MQ Trace and AIX system trace.
- When you are using the command interpreter runmqsc to enter administration commands, a + at the end of a line indicates that the next line is a continuation. Ensure that there is a space between the last parameter and the continuation character.
Basic configuration
- Create the queue manager from the AIX command line using the command:
crtmqm -u dlqname -q aixwhere:
- aix
- Is the name of the queue manager
- -q
- Indicates that this is to become the default queue manager
- -u dlqname
- Specifies the name of the undeliverable message queue
This command creates a queue manager and a set of default objects.
- Start the queue manager from the AIX command line using the command:
strmqm aixwhere aix is the name given to the queue manager when it was created.- Start runmqsc from the AIX command line and use it to create the undeliverable message queue by entering the command:
def ql (dlqname)where dlqname is the name given to the undeliverable message queue when the queue manager was created.
Channel configuration
Includes information about configuring a queue manager for a given channel and platform.
The following section details the configuration to be performed on the AIX queue manager to implement the channel described in Figure 1 .
In each case the MQSC command is shown. Either start runmqsc from an AIX command line and enter each command in turn, or build the commands into a command file.
Examples are given for connecting WebSphere MQ for AIX and WebSphere MQ for Windows. To connect to WebSphere MQ on another platform use the appropriate set of values from the table in place of those for Windows.
Note: The words in bold are user-specified and reflect the names of WebSphere MQ objects used throughout these examples. If you change the names used here, ensure that you also change the other references made to these objects throughout this section. All others are keywords and should be entered as shown.
Configuration worksheet for WebSphere MQ for AIX
ID Parameter Name Reference Example Used User Value Definition for local node A Queue Manager Name AIX B Local queue name AIX.LOCALQ Connection to WebSphere MQ for Windows The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A WINNT D Remote queue name WINNT.REMOTEQ E Queue name at remote system B WINNT.LOCALQ F Transmission queue name WINNT G Sender (SNA) channel name AIX.WINNT.SNA H Sender (TCP/IP) channel name AIX.WINNT.TCP I Receiver (SNA) channel name G WINNT.AIX.SNA J Receiver (TCP) channel name H WINNT.AIX.TCP Connection to MQSeries for HP Tru64 UNIX The values in this section of the table must match those used in your HP Tru64 UNIX system.
C Remote queue manager name A DECUX D Remote queue name DECUX.REMOTEQ E Queue name at remote system B DECUX.LOCALQ F Transmission queue name DECUX H Sender (TCP) channel name DECUX.AIX.TCP J Receiver (TCP) channel name H AIX.DECUX.TCP Connection to WebSphere MQ for HP-UX The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A HPUX D Remote queue name HPUX.REMOTEQ E Queue name at remote system B HPUX.LOCALQ F Transmission queue name HPUX G Sender (SNA) channel name AIX.HPUX.SNA H Sender (TCP) channel name AIX.HPUX.TCP I Receiver (SNA) channel name G HPUX.AIX.SNA J Receiver (TCP) channel name H HPUX.AIX.TCP Connection to WebSphere MQ for Solaris The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A SOLARIS D Remote queue name SOLARIS.REMOTEQ E Queue name at remote system B SOLARIS.LOCALQ F Transmission queue name SOLARIS G Sender (SNA) channel name AIX.SOLARIS.SNA H Sender (TCP/IP) channel name AIX.SOLARIS.TCP I Receiver (SNA) channel name G SOLARIS.AIX.SNA J Receiver (TCP/IP) channel name H SOLARIS.AIX.TCP Connection to WebSphere MQ for Linux The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A LINUX D Remote queue name LINUX.REMOTEQ E Queue name at remote system B LINUX.LOCALQ F Transmission queue name LINUX G Sender (SNA) channel name AIX.LINUX.SNA H Sender (TCP/IP) channel name AIX.LINUX.TCP I Receiver (SNA) channel name G LINUX.AIX.SNA J Receiver (TCP/IP) channel name H LINUX.AIX.TCP C Remote queue manager name A AS400 D Remote queue name AS400.REMOTEQ E Queue name at remote system B AS400.LOCALQ F Transmission queue name AS400 G Sender (SNA) channel name AIX.AS400.SNA H Sender (TCP) channel name AIX.AS400.TCP I Receiver (SNA) channel name G AS400.AIX.SNA C Remote queue manager name A MVS™ D Remote queue name MVS.REMOTEQ E Queue name at remote system B MVS.LOCALQ F Transmission queue name MVS G Sender (SNA) channel name AIX.MVS.SNA H Sender (TCP) channel name AIX.MVS.TCP I Receiver (SNA) channel name G MVS.AIX.SNA C Remote queue manager name A QSG D Remote queue name QSG.REMOTEQ E Queue name at remote system B QSG.SHAREDQ F Transmission queue name QSG G Sender (SNA) channel name AIX.QSG.SNA H Sender (TCP) channel name AIX.QSG.TCP I Receiver (SNA) channel name G QSG.AIX.SNA Connection to MQSeries for VSE/ESA The values in this section of the table must match those used in your VSE/ESA system.
C Remote queue manager name A VSE D Remote queue name VSE.REMOTEQ E Queue name at remote system B VSE.LOCALQ F Transmission queue name VSE G Sender channel name AIX.VSE.SNA I Receiver channel name G VSE.AIX.SNA WebSphere MQ for AIX sender-channel definitions using SNA
Example commands.
def ql ( WINNT ) + F usage(xmitq) + replace def qr ( WINNT.REMOTEQ ) + D rname( WINNT.LOCALQ ) + E rqmname( WINNT ) + C xmitq( WINNT ) + F replace def chl ( AIX.WINNT.SNA ) chltype(sdr) + G trptype(lu62) + conname(' WINNTCPIC ') + 17 xmitq( WINNT ) + F replaceWebSphere MQ for AIX receiver-channel definitions using SNA
Example commands.
def ql ( AIX.LOCALQ ) replace B def chl ( WINNT.AIX.SNA ) chltype(rcvr) + I trptype(lu62) + replaceWebSphere MQ for AIX TPN setup
Alternative ways of ensuring that SNA receiver channels activate correctly when a sender channel initiates a conversation.
During the AIX Communications Server configuration process, an LU 6.2 TPN profile was created, which contained the full path to a TP executable program. In the example, the file was called u/interops/AIX.crs6a. You can choose a name, but consider including the name of your queue manager in it. The contents of the executable file must be:
#!/bin/sh MQ_INSTALLATION_PATH/bin/amqcrs6a -m aixwhere aix is the queue manager name (A) and MQ_INSTALLATION_PATH is the high-level directory in which WebSphere MQ is installed. After creating this file, enable it for execution by running the command:
chmod 755 /u/interops/AIX.crs6aAs an alternative to creating an executable file, you can specify the path on the Add LU 6.2 TPN Profile panel, using command-line parameters.
Specifying a path in one of these two ways ensures that SNA receiver channels activate correctly when a sender channel initiates a conversation.
WebSphere MQ for AIX sender-channel definitions using TCP
Example commands.
def ql ( WINNT ) + F usage(xmitq) + replace def qr ( WINNT.REMOTEQ ) + D rname( WINNT.LOCALQ ) + E rqmname( WINNT ) + C xmitq( WINNT ) + F replace def chl ( AIX.WINNT.TCP ) chltype(sdr) + H trptype(tcp) + conname(remote_tcpip_hostname) + xmitq( WINNT ) + F replaceWebSphere MQ for AIX receiver-channel definitions using TCP
Example commands.
def ql ( AIX.LOCALQ ) replace B def chl ( WINNT.AIX.TCP ) chltype(rcvr) + J trptype(tcp) + replaceExample configuration - IBM WebSphere MQ for HP-UX
This section gives an example of how to set up communication links from WebSphere MQ for HP-UX to WebSphere MQ products.
The following platforms are included:
- Windows
- AIX
- HP Tru64 UNIX
- Solaris
- Linux
- IBM i
- z/OS
- VSE/ESA
See Example configuration information for background information about this section and how to use it.
Establish an LU 6.2 connection
Describes the parameters needed for an LU 6.2 connection
For the latest information about configuring SNA over TCP/IP, refer to the following online IBM documentation: SNA and TCP/IP Integration and Communications Server , and the following online HP documentation: HP-UX SNAplus2 Installation Guide .
Establish a TCP connection
Alternative ways of establishing a connection and next steps.
The listener must be started explicitly before any channels are started. It enables receiving channels to start automatically in response to a request from an inbound sending channel.
Alternatively, if you want to use the UNIX supplied TCP/IP listener, complete the following steps:
- Edit the file /etc/services.
Note: To edit the /etc/services file, you must be logged in as a superuser or root. If you do not have the following line in that file, add it as shown:
MQSeries 1414/tcp # MQSeries channel listener- Edit the file /etc/inetd.conf. If you do not have the following line in that file, add it as shown, replacing MQ_INSTALLATION_PATH with the high-level directory in which WebSphere MQ is installed.
MQSeries stream tcp nowait root MQ_INSTALLATION_PATH/bin/amqcrsta amqcrsta [-m queue.manager.name]- Find the process ID of the inetd with the command:
ps -ef | grep inetd- Run the command:
kill -1 inetd processid
Note: You must add root to the mqm group. You do not need not have the primary group set to mqm. As long as mqm is in the set of groups, you can use the commands. If you are running only applications that use the queue manager you do not need to have mqm group authority.
What next?
The connection is now established. You are ready to complete the configuration. Go to WebSphere MQ for HP-UX configuration .
WebSphere MQ for HP-UX configuration
Describes defining the channels to complete the configuration.
Before beginning the installation process ensure that you have first created the mqm user and group, and set the password.
Start any channel using the command:
runmqchl -c channel.nameNote:
- Sample programs are installed in MQ_INSTALLATION_PATH/samp, where MQ_INSTALLATION_PATH represents the high-level directory in which WebSphere MQ is installed.
- Error logs are stored in /var/mqm/qmgrs/qmgrname/errors.
- When you are using the command interpreter runmqsc to enter administration commands, a + at the end of a line indicates that the next line is a continuation. Ensure that there is a space between the last parameter and the continuation character.
Basic configuration
- Create the queue manager from the UNIX prompt using the command:
crtmqm -u dlqname -q hpuxwhere:
- hpux
- Is the name of the queue manager
- -q
- Indicates that this is to become the default queue manager
- -u dlqname
- Specifies the name of the undeliverable message queue
This command creates a queue manager and a set of default objects. It sets the DEADQ attribute of the queue manager but does not create the undeliverable message queue.
- Start the queue manager from the UNIX prompt using the command:
strmqm hpuxwhere hpux is the name given to the queue manager when it was created.
Channel configuration
Includes information about configuring a queue manager for a given channel and platform.
The following section details the configuration to be performed on the HP-UX queue manager to implement the channel described in Figure 1 .
In each case the MQSC command is shown. Either start runmqsc from a UNIX prompt and enter each command in turn, or build the commands into a command file.
Examples are given for connecting WebSphere MQ for HP-UX and WebSphere MQ for Windows. To connect to WebSphere MQ on another platform use the appropriate set of values from the table in place of those for Windows.
Note: The words in bold are user-specified and reflect the names of WebSphere MQ objects used throughout these examples. If you change the names used here, ensure that you also change the other references made to these objects throughout this section. All others are keywords and should be entered as shown.
Configuration worksheet for WebSphere MQ for HP-UX
ID Parameter Name Reference Example Used User Value Definition for local node A Queue Manager Name HPUX B Local queue name HPUX.LOCALQ Connection to WebSphere MQ for Windows The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A WINNT D Remote queue name WINNT.REMOTEQ E Queue name at remote system B WINNT.LOCALQ F Transmission queue name WINNT G Sender (SNA) channel name HPUX.WINNT.SNA H Sender (TCP/IP) channel name HPUX.WINNT.TCP I Receiver (SNA) channel name G WINNT.HPUX.SNA J Receiver (TCP) channel name H WINNT.HPUX.TCP Connection to WebSphere MQ for AIX The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A AIX D Remote queue name AIX.REMOTEQ E Queue name at remote system B AIX.LOCALQ F Transmission queue name AIX G Sender (SNA) channel name HPUX.AIX.SNA H Sender (TCP) channel name HPUX.AIX.TCP I Receiver (SNA) channel name G AIX.HPUX.SNA J Receiver (TCP) channel name H AIX.HPUX.TCP Connection to WebSphere MQ for HP Tru64 UNIX The values in this section of the table must match those used in your HP Tru64 UNIX system.
C Remote queue manager name A DECUX D Remote queue name DECUX.REMOTEQ E Queue name at remote system B DECUX.LOCALQ F Transmission queue name DECUX H Sender (TCP) channel name DECUX.HPUX.TCP J Receiver (TCP) channel name H HPUX.DECUX.TCP Connection to WebSphere MQ for Solaris The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A SOLARIS D Remote queue name SOLARIS.REMOTEQ E Queue name at remote system B SOLARIS.LOCALQ F Transmission queue name SOLARIS G Sender (SNA) channel name HPUX.SOLARIS.SNA H Sender (TCP/IP) channel name HPUX.SOLARIS.TCP I Receiver (SNA) channel name G SOLARIS.HPUX.SNA J Receiver (TCP/IP) channel name H SOLARIS.HPUX.TCP Connection to WebSphere MQ for Linux The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A LINUX D Remote queue name LINUX.REMOTEQ E Queue name at remote system B LINUX.LOCALQ F Transmission queue name LINUX G Sender (SNA) channel name HPUX.LINUX.SNA H Sender (TCP/IP) channel name HPUX.LINUX.TCP I Receiver (SNA) channel name G LINUX.HPUX.SNA J Receiver (TCP/IP) channel name H LINUX.HPUX.TCP C Remote queue manager name A AS400 D Remote queue name AS400.REMOTEQ E Queue name at remote system B AS400.LOCALQ F Transmission queue name AS400 G Sender (SNA) channel name HPUX.AS400.SNA H Sender (TCP/IP) channel name HPUX.AS400.TCP I Receiver (SNA) channel name G AS400.HPUX.SNA C Remote queue manager name A MVS™ D Remote queue name MVS.REMOTEQ E Queue name at remote system B MVS.LOCALQ F Transmission queue name MVS G Sender (SNA) channel name HPUX.MVS.SNA H Sender (TCP) channel name HPUX.MVS.TCP I Receiver (SNA) channel name G MVS.HPUX.SNA Connection to MQSeries for VSE/ESA The values in this section of the table must match those used in your VSE/ESA system.
C Remote queue manager name A VSE D Remote queue name VSE.REMOTEQ E Queue name at remote system B VSE.LOCALQ F Transmission queue name VSE G Sender channel name HPUX.VSE.SNA I Receiver channel name G VSE.HPUX.SNA WebSphere MQ for HP-UX sender-channel definitions using SNA
Example commands.
def ql ( WINNT ) + F usage(xmitq) + replace def qr ( WINNT.REMOTEQ ) + D rname( WINNT.LOCALQ ) + E rqmname( WINNT ) + C xmitq( WINNT ) + F replace def chl ( HPUX.WINNT.SNA ) chltype(sdr) + G trptype(lu62) + conname(' WINNTCPIC ') + 16 xmitq( WINNT ) + F replaceWebSphere MQ for HP-UX receiver-channel definitions using SNA
Example commands.
def ql ( HPUX.LOCALQ ) replace B def chl ( WINNT.HPUX.SNA ) chltype(rcvr) + I trptype(lu62) + replaceWebSphere MQ for HP-UX invokable TP setup
Ensuring that SNA receiver channels activate correctly when a sender channel initiates a conversation.
This is not required for HP SNAplus2 Release 6.
During the HP SNAplus2 configuration process, you created an invokable TP definition, which points to an executable file. In the example, the file was called /users/interops/HPUX.crs6a. You can choose what you call this file, but consider including the name of your queue manager in the name. The contents of the executable file must be:
#!/bin/sh MQ_INSTALLATION_PATH/bin/amqcrs6a -m hpuxwhere hpux is the name of your queue manager A and MQ_INSTALLATION_PATH is the high-level directory in which WebSphere MQ is installed.This ensures that SNA receiver channels activate correctly when a sender channel initiates a conversation.
WebSphere MQ for HP-UX sender-channel definitions using TCP
Example commands.
def ql ( WINNT ) + F usage(xmitq) + replace def qr ( WINNT.REMOTEQ ) + D rname( WINNT.LOCALQ ) + E rqmname( WINNT ) + C xmitq( WINNT ) + F replace def chl ( HPUX.WINNT.TCP ) chltype(sdr) + H trptype(tcp) + conname(remote_tcpip_hostname) + xmitq( WINNT ) + F replaceWebSphere MQ for HP-UX receiver-channel definitions using TCP/IP
Example commands.
def ql ( HPUX.LOCALQ ) replace B def chl ( WINNT.HPUX.TCP ) chltype(rcvr) + J trptype(tcp) + replaceExample configuration - IBM WebSphere MQ for Solaris
This section gives an example of how to set up communication links from WebSphere MQ for Solaris to WebSphere MQ products.
Examples are given on the following platforms:
- Windows
- AIX
- HP Tru64 UNIX
- HP-UX
- Linux
- IBM i
- z/OS
- VSE/ESA
See Example configuration information for background information about this section and how to use it.
Establish an LU 6.2 connection using SNAP-IX
Parameters for configuring an LU 6.2 connection using SNAP-IX.
For the latest information about configuring SNA over TCP/IP, refer to the following online IBM documentation: SNA and TCP/IP Integration and Communications Server , and the following online MetaSwitch documentation: SNAP-IX Administration Guide , and the following online Sun documentation: Configuring Intersystem Communications (ISC)
Establish a TCP connection
Information about configuring a TCP connection and next steps.
To establish a TCP connection, follow these steps.
- Edit the file /etc/services.
Note: To edit the /etc/services file, you must be logged in as a superuser or root. If you do not have the following line in that file, add it as shown:
MQSeries 1414/tcp # MQSeries channel listener- Edit the file /etc/inetd.conf. If you do not have the following line in that file, add it as shown:
MQSeries stream tcp nowait mqm MQ_INSTALLATION_PATH/bin/amqcrsta amqcrsta [-m queue.manager.name]MQ_INSTALLATION_PATH represents the high-level directory in which WebSphere MQ is installed.
- Find the process ID of the inetd with the command:
ps -ef | grep inetd- Run the appropriate command, as follows:
- For Solaris 9:
kill -1 inetd processid- For Solaris 10 or later:
inetconv
What next?
The TCP/IP connection is now established. You are ready to complete the configuration. Go to WebSphere MQ for Solaris configuration .
WebSphere MQ for Solaris configuration
Describes channels to be defined to complete the configuration.
Before beginning the installation process ensure that you have first created the mqm user and group, and set the password.
Start any channel using the command:
runmqchl -c channel.nameNote:
- Sample programs are installed in MQ_INSTALLATION_PATH/samp.
MQ_INSTALLATION_PATH represents the high-level directory in which WebSphere MQ is installed.
- Error logs are stored in /var/mqm/qmgrs/qmgrname/errors.
- When you are using the command interpreter runmqsc to enter administration commands, a + at the end of a line indicates that the next line is a continuation. Ensure that there is a space between the last parameter and the continuation character.
- For an SNA or LU6.2 channel, if you experience an error when you try to load the communications library, probably file liblu62.so cannot be found. A likely solution to this problem is to add its location, which is probably /opt/SUNWlu62, to LD_LIBRARY_PATH.
Basic configuration
- Create the queue manager from the UNIX prompt using the command:
crtmqm -u dlqname -q solariswhere:
- solaris
- Is the name of the queue manager
- -q
- Indicates that this is to become the default queue manager
- -u dlqname
- Specifies the name of the undeliverable message queue
This command creates a queue manager and a set of default objects.
- Start the queue manager from the UNIX prompt using the command:
strmqm solariswhere solaris is the name given to the queue manager when it was created.
Channel configuration
The following section details the configuration to be performed on the Solaris queue manager to implement a channel.
The configuration described is to implement the channel described in Figure 1 .
The MQSC command to create each object is shown. Either start runmqsc from a UNIX prompt and enter each command in turn, or build the commands into a command file.
Examples are given for connecting WebSphere MQ for Solaris and WebSphere MQ for Windows. To connect to WebSphere MQ on another platform use the appropriate set of values from the table in place of those for Windows.
Note: The words in bold are user-specified and reflect the names of WebSphere MQ objects used throughout these examples. If you change the names used here, ensure that you also change the other references made to these objects throughout this section. All others are keywords and should be entered as shown.
Configuration worksheet for WebSphere MQ for Solaris
ID Parameter Name Reference Example Used User Value Definition for local node A Queue Manager Name SOLARIS B Local queue name SOLARIS.LOCALQ Connection to WebSphere MQ for Windows The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A WINNT D Remote queue name WINNT.REMOTEQ E Queue name at remote system B WINNT.LOCALQ F Transmission queue name WINNT G Sender (SNA) channel name SOLARIS.WINNT.SNA H Sender (TCP/IP) channel name SOLARIS.WINNT.TCP I Receiver (SNA) channel name G WINNT.SOLARIS.SNA J Receiver (TCP) channel name H WINNT.SOLARIS.TCP Connection to WebSphere MQ for AIX The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A AIX D Remote queue name AIX.REMOTEQ E Queue name at remote system B AIX.LOCALQ F Transmission queue name AIX G Sender (SNA) channel name SOLARIS.AIX.SNA H Sender (TCP) channel name SOLARIS.AIX.TCP I Receiver (SNA) channel name G AIX.SOLARIS.SNA J Receiver (TCP) channel name H AIX.SOLARIS.TCP Connection to MQSeries The values in this section of the table must match those used in your Compaq Tru64 UNIX system.
C Remote queue manager name A DECUX D Remote queue name DECUX.REMOTEQ E Queue name at remote system B DECUX.LOCALQ F Transmission queue name DECUX H Sender (TCP) channel name DECUX.SOLARIS.TCP J Receiver (TCP) channel name H SOLARIS.DECUX.TCP Connection to WebSphere MQ for HP-UX The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A HPUX D Remote queue name HPUX.REMOTEQ E Queue name at remote system B HPUX.LOCALQ F Transmission queue name HPUX G Sender (SNA) channel name SOLARIS.HPUX.SNA H Sender (TCP) channel name SOLARIS.HPUX.TCP I Receiver (SNA) channel name G HPUX.SOLARIS.SNA J Receiver (TCP/IP) channel name H HPUX.SOLARIS.TCP Connection to WebSphere MQ for Linux The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A LINUX D Remote queue name LINUX.REMOTEQ E Queue name at remote system B LINUX.LOCALQ F Transmission queue name LINUX G Sender (SNA) channel name SOLARIS.LINUX.SNA H Sender (TCP/IP) channel name SOLARIS.LINUX.TCP I Receiver (SNA) channel name G LINUX.SOLARIS.SNA J Receiver (TCP/IP) channel name H LINUX.SOLARIS.TCP C Remote queue manager name A AS400 D Remote queue name AS400.REMOTEQ E Queue name at remote system B AS400.LOCALQ F Transmission queue name AS400 G Sender (SNA) channel name SOLARIS.AS400.SNA H Sender (TCP) channel name SOLARIS.AS400.TCP I Receiver (SNA) channel name G AS400.SOLARIS.SNA C Remote queue manager name A MVS™ D Remote queue name MVS.REMOTEQ E Queue name at remote system B MVS.LOCALQ F Transmission queue name MVS G Sender (SNA) channel name SOLARIS.MVS.SNA H Sender (TCP) channel name SOLARIS.MVS.TCP I Receiver (SNA) channel name G MVS.SOLARIS.SNA Connection to MQSeries for VSE/ESA The values in this section of the table must match those used in your VSE/ESA system.
C Remote queue manager name A VSE D Remote queue name VSE.REMOTEQ E Queue name at remote system B VSE.LOCALQ F Transmission queue name VSE G Sender channel name SOLARIS.VSE.SNA I Receiver channel name G VSE.SOLARIS.SNA WebSphere MQ for Solaris sender-channel definitions using SNAP-IX SNA
Example coding.
def ql ( WINNT ) + F usage(xmitq) + replace def qr ( WINNT.REMOTEQ ) + D rname( WINNT.LOCALQ ) + E rqmname( WINNT ) + C xmitq( WINNT ) + F replace def chl ( SOLARIS.WINNT.SNA ) chltype(sdr) + G trptype(lu62) + conname(' NTCPIC ') + 14 xmitq( WINNT ) + F replaceWebSphere MQ for Solaris receiver-channel definitions using SNA
Example coding.
def ql ( SOLARIS.LOCALQ ) replace B def chl ( WINNT.SOLARIS.SNA ) chltype(rcvr) + I trptype(lu62) + replaceWebSphere MQ for Solaris sender-channel definitions using TCP
Example coding.
def ql ( WINNT ) + F usage(xmitq) + replace def qr ( WINNT.REMOTEQ ) + D rname( WINNT.LOCALQ ) + E rqmname( WINNT ) + C xmitq( WINNT ) + F replace def chl ( SOLARIS.WINNT.TCP ) chltype(sdr) + H trptype(tcp) + conname(remote_tcpip_hostname) + xmitq( WINNT ) + F replaceWebSphere MQ for Solaris receiver-channel definitions using TCP/IP
Example coding.
def ql ( SOLARIS.LOCALQ ) replace B def chl ( WINNT.SOLARIS.TCP ) chltype(rcvr) + J trptype(tcp) + replaceExample configuration - IBM WebSphere MQ for Linux
This section gives an example of how to set up communication links from WebSphere MQ for Linux to WebSphere MQ products.
The examples given are on the following platforms:
- Windows
- AIX
- Compaq Tru64 UNIX
- HP-UX
- Solaris
- IBM i
- z/OS
- VSE/ESA
See Example configuration information for background information about this section and how to use it.
Establish an LU 6.2 connection
Use this worksheet to record the values you use for your configuration.
Note: The information in this section applies only to WebSphere MQ for Linux (x86 platform). It does not apply to WebSphere MQ for Linux (x86-64 platform), WebSphere MQ for Linux (zSeries s390x platform), or WebSphere MQ for Linux (POWER).
For the latest information about configuring SNA over TCP/IP, refer to the following online IBM documentation: SNA and TCP/IP Integration and the Administration Guide for your version of Linux from the following documentation: Communications Server for Linux library .
Establish a TCP connection on Linux
Some Linux distributions now use the extended inet daemon (XINETD) instead of the inet daemon (INETD). The following instructions tell you how to establish a TCP connection using either the inet daemon or the extended inet daemon.
Use the inet daemon (INETD)
MQ_INSTALLATION_PATH represents the high-level directory in which WebSphere MQ is installed.
To establish a TCP connection, follow these steps.
- Edit the file /etc/services. If you do not have the following line in the file, add it as shown:
MQSeries 1414/tcp # MQSeries channel listenerNote: To edit this file, you must be logged in as a superuser or root.
- Edit the file /etc/inetd.conf. If you do not have the following line in that file, add it as shown:
MQSeries stream tcp nowait mqm MQ_INSTALLATION_PATH/bin/amqcrsta amqcrsta [-m queue.manager.name]- Find the process ID of the inetd with the command:
ps -ef | grep inetd- Run the command:
kill -1 inetd processid
If you have more than one queue manager on your system, and therefore require more than one service, you must add a line for each additional queue manager to both /etc/services and inetd.conf.
For example:
MQSeries1 1414/tcp MQSeries2 1822/tcp
MQSeries1 stream tcp nowait mqm MQ_INSTALLATION_PATH/bin/amqcrsta amqcrsta -m QM1 MQSeries2 stream tcp nowait mqm MQ_INSTALLATION_PATH/bin/amqcrsta amqcrsta -m QM2This avoids error messages being generated if there is a limitation on the number of outstanding connection requests queued at a single TCP port. For information about the number of outstanding connection requests, see Using the TCP listener backlog option .
The inetd process on Linux can limit the rate of inbound connections on a TCP port. The default is 40 connections in a 60 second interval. If you need a higher rate, specify a new limit on the number of inbound connections in a 60 second interval by appending a period (.) followed by the new limit to the nowait parameter of the appropriate service in inetd.conf. For example, for a limit of 500 connections in a 60 second interval use:
MQSeries stream tcp nowait.500 mqm /MQ_INSTALLATION_PATH/bin/amqcrsta amqcrsta -m QM1MQ_INSTALLATION_PATH represents the high-level directory in which WebSphere MQ is installed.
Use the extended inet daemon (XINETD)
The following instructions describe how the extended inet daemon is implemented on Red Hat Linux. If you are using a different Linux distribution, you might have to adapt these instructions.
To establish a TCP connection, follow these steps.
- Edit the file /etc/services. If you do not have the following line in the file, add it as shown:
MQSeries 1414/tcp # MQSeries channel listenerNote: To edit this file, you must be logged in as a superuser or root.
- Create a file called MQSeries in the XINETD configuration directory, /etc/xinetd.d. Add the following stanza to the file:
# WebSphere MQ service for XINETD service MQSeries { disable = no flags = REUSE socket_type = stream wait = no user = mqm server = MQ_INSTALLATION_PATH/bin/amqcrsta server_args = -m queue.manager.name log_on_failure += USERID }- Restart the extended inet daemon by issuing the following command:
/etc/rc.d/init.d/xinetd restart
If you have more than one queue manager on your system, and therefore require more than one service, you must add a line to /etc/services for each additional queue manager. You can create a file in the /etc/xinetd.d directory for each service, or you can add additional stanzas to the WebSphere MQ file you created previously.
The xinetd process on Linux can limit the rate of inbound connections on a TCP port. The default is 50 connections in a 10 second interval. If you need a higher rate, specify a new limit on the rate of inbound connections by specifying the 'cps' attribute in the xinetd configuration file. For example, for a limit of 500 connections in a 60 second interval use:
cps = 500 60
What next?
The TCP/IP connection is now established. You are ready to complete the configuration. Go to WebSphere MQ for Linux configuration .
WebSphere MQ for Linux configuration
Before beginning the installation process ensure that you have first created the mqm user ID and the mqm group, and set the password.
Start any channel using the command:
runmqchl -c channel.nameNote:
- Sample programs are installed in MQ_INSTALLATION_PATH/samp, where MQ_INSTALLATION_PATH represents the high-level directory in which WebSphere MQ is installed.
- Error logs are stored in /var/mqm/qmgrs/qmgrname/errors.
- When you are using the command interpreter runmqsc to enter administration commands, a + at the end of a line indicates that the next line is a continuation. Ensure that there is a space between the last parameter and the continuation character.
Basic configuration
- Create the queue manager from the UNIX prompt using the command:
crtmqm -u dlqname -q linuxwhere:
- linux
- Is the name of the queue manager
- -q
- Indicates that this is to become the default queue manager
- -u dlqname
- Specifies the name of the dead letter queue
This command creates a queue manager and a set of default objects.
- Start the queue manager from the UNIX prompt using the command:
strmqm linuxwhere linux is the name given to the queue manager when it was created.
Channel configuration
The following section details the configuration to be performed on the Linux queue manager to implement the channel described in Figure 1 .
The MQSC command to create each object is shown. Either start runmqsc from a UNIX prompt and enter each command in turn, or build the commands into a command file.
Examples are given for connecting WebSphere MQ for Linux and WebSphere MQ for HP-UX. To connect to WebSphere MQ on another platform use the appropriate set of values from the table in place of those for HP-UX.
Note: The words in bold are user-specified and reflect the names of WebSphere MQ objects used throughout these examples. If you change the names used here, ensure that you also change the other references made to these objects throughout this section. All others are keywords and should be entered as shown.
Configuration worksheet for WebSphere MQ for Linux
ID Parameter Name Reference Example Used User Value Definition for local node A Queue Manager Name LINUX B Local queue name LINUX.LOCALQ Connection to WebSphere MQ for Windows The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A WINNT D Remote queue name WINNT.REMOTEQ E Queue name at remote system B WINNT.LOCALQ F Transmission queue name WINNT G Sender (SNA) channel name LINUX.WINNT.SNA H Sender (TCP/IP) channel name LINUX.WINNT.TCP I Receiver (SNA) channel name G WINNT.LINUX.SNA J Receiver (TCP) channel name H WINNT.LINUX.TCP Connection to WebSphere MQ for AIX The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A AIX D Remote queue name AIX.REMOTEQ E Queue name at remote system B AIX.LOCALQ F Transmission queue name AIX G Sender (SNA) channel name LINUX.AIX.SNA H Sender (TCP) channel name LINUX.AIX.TCP I Receiver (SNA) channel name G AIX.LINUX.SNA J Receiver (TCP) channel name H AIX.LINUX.TCP Connection to MQSeries for Compaq Tru64 UNIX The values in this section of the table must match those used in your Compaq Tru64 UNIX system.
C Remote queue manager name A DECUX D Remote queue name DECUX.REMOTEQ E Queue name at remote system B DECUX.LOCALQ F Transmission queue name DECUX H Sender (TCP) channel name DECUX.LINUX.TCP J Receiver (TCP) channel name H LINUX.DECUX.TCP Connection to WebSphere MQ for HP-UX The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A HPUX D Remote queue name HPUX.REMOTEQ E Queue name at remote system B HPUX.LOCALQ F Transmission queue name HPUX G Sender (SNA) channel name LINUX.HPUX.SNA H Sender (TCP) channel name LINUX.HPUX.TCP I Receiver (SNA) channel name G HPUX.LINUX.SNA J Receiver (TCP/IP) channel name H HPUX.LINUX.TCP Connection to WebSphere MQ for Solaris The values in this section of the table must match those used in Table 1 , as indicated.
C Remote queue manager name A SOLARIS D Remote queue name SOLARIS.REMOTEQ E Queue name at remote system B SOLARIS.LOCALQ F Transmission queue name GIS G Sender (SNA) channel name LINUX.SOLARIS.SNA H Sender (TCP/IP) channel name LINUX.SOLARIS.TCP I Receiver (SNA) channel name G SOLARIS.LINUX.SNA J Receiver (TCP/IP) channel name H SOLARIS.LINUX.TCP C Remote queue manager name A AS400 D Remote queue name AS400.REMOTEQ E Queue name at remote system B AS400.LOCALQ F Transmission queue name AS400 G Sender (SNA) channel name LINUX.AS400.SNA H Sender (TCP) channel name LINUX.AS400.TCP I Receiver (SNA) channel name G AS400.LINUX.SNA C Remote queue manager name A MVS™ D Remote queue name MVS.REMOTEQ E Queue name at remote system B MVS.LOCALQ F Transmission queue name MVS G Sender (SNA) channel name LINUX.MVS.SNA H Sender (TCP) channel name LINUX.MVS.TCP I Receiver (SNA) channel name G MVS.LINUX.SNA Connection to MQSeries for VSE/ESA (WebSphere MQ for Linux (x86 platform) only) The values in this section of the table must match those used in your VSE/ESA system.
C Remote queue manager name A VSE D Remote queue name VSE.REMOTEQ E Queue name at remote system B VSE.LOCALQ F Transmission queue name VSE G Sender channel name LINUX.VSE.SNA I Receiver channel name G VSE.LINUX.SNA WebSphere MQ for Linux (x86 platform) sender-channel definitions using SNA
Example coding.
def ql ( HPUX ) + F usage(xmitq) + replace def qr ( HPUX.REMOTEQ ) + D rname( HPUX.LOCALQ ) + E rqmname( HPUX ) + C xmitq( HPUX ) + F replace def chl ( LINUX.HPUX.SNA ) chltype(sdr) + G trptype(lu62) + conname(' HPUXCPIC ') + 14 xmitq( HPUX ) + F replaceWebSphere MQ for Linux (x86 platform) receiver-channel definitions using SNA
Example coding.
def ql ( LINUX.LOCALQ ) replace B def chl ( HPUX.LINUX.SNA ) chltype(rcvr) + I trptype(lu62) + replaceWebSphere MQ for Linux sender-channel definitions using TCP
Example coding.
def ql ( HPUX ) + F usage(xmitq) + replace def qr ( HPUX.REMOTEQ ) + D rname( HPUX.LOCALQ ) + E rqmname( HPUX ) + C xmitq( HPUX ) + F replace def chl ( LINUX.HPUX.TCP ) chltype(sdr) + H trptype(tcp) + conname(remote_tcpip_hostname) + xmitq( HPUX ) + F replaceWebSphere MQ for Linux receiver-channel definitions using TCP/IP
Example coding.
def ql ( LINUX.LOCALQ ) replace B def chl ( HPUX.LINUX.TCP ) chltype(rcvr) + J trptype(tcp) + replaceQueue names
Use this information to understand the restrictions of queue names and reserved queue names.
Queues can have names up to 48 characters long.
Reserved Queue names
Names that start with
SYSTEM.are reserved for queues defined by the queue manager. You can use the ALTER or DEFINE REPLACE commands to change these queue definitions to suit your installation. The following names are defined for WebSphere MQ:
Queue Name Description SYSTEM.ADMIN.ACTIVITY.QUEUE Queue for activity reports SYSTEM.ADMIN.CHANNEL.EVENT Queue for channel events SYSTEM.ADMIN.COMMAND.EVENT Queue for command events SYSTEM.ADMIN.COMMAND.QUEUE Queue to which PCF command messages are sent SYSTEM.ADMIN.CONFIG.EVENT Queue for configuration events SYSTEM.ADMIN.PERFM.EVENT Queue for performance events SYSTEM.ADMIN.PUBSUB.EVENT System publish/subscribe related event queue SYSTEM.ADMIN.QMGR.EVENT Queue for queue manager events SYSTEM.ADMIN.TRACE.ROUTE.QUEUE Queue for trace-route reply messages SYSTEM.AUTH.DATA.QUEUE The queue that holds access control lists for the queue manager. (Not for z/OS) SYSTEM.CHANNEL.INITQ Initiation queue for channels SYSTEM.CHANNEL.SYNCQ The queue that holds the synchronization data for channels SYSTEM.CHLAUTH.DATA.QUEUE WebSphere MQ channel authentication data queue SYSTEM.CICS.INITIATION.QUEUE Queue used for triggering (not for z/OS) SYSTEM.CLUSTER.COMMAND.QUEUE Queue used to communicate repository changes between queue managers (AIX, HP-UX, Linux, IBM i, Solaris, Windows, and z/OS only) SYSTEM.CLUSTER.HISTORY.QUEUE The queue is used to store the history of cluster state information for service purposes. SYSTEM.CLUSTER.REPOSITORY.QUEUE Queue used to hold information about the repository (AIX, HP-UX, Linux, IBM i, Solaris, Windows, and z/OS only) SYSTEM.CLUSTER.TRANSMIT.MODEL.QUEUE The queue is used to create individual transmit queues for each cluster sender channel. SYSTEM.CLUSTER.TRANSMIT.QUEUE Transmission queue for all destinations managed by cluster support (AIX, HP-UX, Linux, IBM i, Solaris, Windows, and z/OS only) SYSTEM.COMMAND.INPUT Queue to which command messages are sent on z/OS SYSTEM.COMMAND.REPLY.MODEL Model queue definition for command replies (for z/OS) SYSTEM.DEAD.LETTER.QUEUE Dead-letter queue (not for z/OS) SYSTEM.DEFAULT.ALIAS.QUEUE Default alias queue definition SYSTEM.DEFAULT.INITIATION.QUEUE Queue used to trigger a specified process (not for z/OS) SYSTEM.DEFAULT.LOCAL.QUEUE Default local queue definition SYSTEM.DEFAULT.MODEL.QUEUE Default model queue definition SYSTEM.DEFAULT.REMOTE.QUEUE Default remote queue definition SYSTEM.DURABLE.SUBSCRIBER.QUEUE A local queue Used to hold a persistent copy of the durable subscriptions in the queue manager SYSTEM.HIERARCHY.STATE Queue used to hold information about the state of inter-queue manager relationships in a publish/subscribe hierarchy SYSTEM.JMS.TEMPQ.MODEL Model for JMS temporary queues SYSTEM.INTERNAL.REPLY.QUEUE WebSphere MQ internal reply queue (not for z/OS) SYSTEM.INTER.QMGR.CONTROL Queue used in a publish/subscribe hierarchy to receive requests from a remote queue manager to create a proxy subscription SYSTEM.INTER.QMGR.PUBS Queue used in a publish/subscribe hierarchy to receive publications from a remote queue manager SYSTEM.INTER.QMGR.FANREQ Queue used in a publish/subscribe hierarchy to process requests to create a proxy subscription on a remote queue manager SYSTEM.MQEXPLORER.REPLY.MODEL Model queue definition for replies for WebSphere MQ Explorer SYSTEM.MQSC.REPLY.QUEUE Model queue definition for MQSC command replies (not for z/OS) SYSTEM.QSG.CHANNEL.SYNCQ Shared local queue Used for storing messages that contain the synchronization information for shared channels (z/OS only) SYSTEM.QSG.TRANSMIT.QUEUE Shared local queue Used by the intra-group queuing agent when transmitting messages between queue managers in the same queue-sharing group (z/OS only) SYSTEM.RETAINED.PUB.QUEUE A local queue Used to hold a copy of each retained publication in the queue manager. SYSTEM.SELECTION.EVALUATION.QUEUE WebSphere MQ internal selection evaluation queue (not for z/OS) SYSTEM.SELECTION.VALIDATION.QUEUE WebSphere MQ internal selection validation queue (not for z/OS) Other object names
Processes, namelists, clusters, topics, services, and authentication information objects can have names up to 48 characters long. Channels can have names up to 20 characters long. Storage classes can have names up to 8 characters long. CF structures can have names up to 12 characters long.
Reserved object names
Names that start with SYSTEM. are reserved for objects defined by the queue manager. You can use the ALTER or DEFINE REPLACE commands to change these object definitions to suit your installation. The following names are defined for WebSphere MQ:
Object Name Description SYSTEM.ADMIN.SVRCONN Server-connection channel Used for remote administration of a queue manager SYSTEM.AUTO.RECEIVER Default receiver channel for auto definition (Windows, UNIX and Linux systems only) SYSTEM.AUTO.SVRCONN Default server-connection channel for auto definition (IBM i, Windows, UNIX and Linux systems only) SYSTEM.BASE.TOPIC Base topic for ASPARENT resolution. If a particular administrative topic object has no parent administrative topic objects, any ASPARENT attributes are inherited from this object SYSTEM.DEF.CLNTCONN Default client-connection channel definition SYSTEM.DEF.CLUSRCVR Default cluster-receiver channel definition SYSTEM.DEF.CLUSSDR Default cluster sender channel definition SYSTEM.DEF.RECEIVER Default receiver channel definition SYSTEM.DEF.REQUESTER Default requester channel definition SYSTEM.DEF.SENDER Default sender channel definition SYSTEM.DEF.SERVER Default server channel definition SYSTEM.DEF.SVRCONN Default server-connection channel definition SYSTEM.DEFAULT.AUTHINFO.CRLLDAP Default authentication information object definition for defining authentication information objects of type CRLLDAP SYSTEM.DEFAULT.AUTHINFO.OCSP Default authentication information object definition for defining authentication information objects of type OCSP SYSTEM.DEFAULT.LISTENER.LU62 Default SNA listener (Windows only) SYSTEM.DEFAULT.LISTENER.NETBIOS Default NetBIOS listener (Windows only) SYSTEM.DEFAULT.LISTENER.SPX Default SPX listener (Windows only) SYSTEM.DEFAULT.LISTENER.TCP Default TCP/IP listener (IBM i, Windows, UNIX and Linux systems only) SYSTEM.DEFAULT.NAMELIST Default namelist definition SYSTEM.DEFAULT.PROCESS Default process definition SYSTEM.DEFAULT.SEVICE Default service (IBM i, Windows, UNIX and Linux systems only) SYSTEM.DEFAULT.TOPIC Default topic definition SYSTEM.QPUBSUB.QUEUE.NAMELIST A list of queues for the Queued Publish/Subscribe interface to monitor SYSTEMST Default storage class definition (z/OS only) Queue name resolution
This topic contains information about queue name resolution as performed by queue managers at both sending and receiving ends of a channel.
In larger networks, the use of queue managers has a number of advantages over other forms of communication. These advantages derive from the name resolution function in DQM and the main benefits are:
- Applications do not need to make routing decisions
- Applications do not need to know the network structure
- Network links are created by systems administrators
- Network structure is controlled by network planners
- Multiple channels can be used between nodes to partition traffic
Figure 1. Name resolution
Referring to Figure 1 , the basic mechanism for putting messages on a remote queue, as far as the application is concerned, is the same as for putting messages on a local queue:
- The application putting the message issues MQOPEN and MQPUT calls to put messages on the target queue.
- The application getting the messages issues MQOPEN and MQGET calls to get the messages from the target queue.
If both applications are connected to the same queue manager then no inter-queue manager communication is required, and the target queue is described as local to both applications.
However, if the applications are connected to different queue managers, two MCAs and their associated network connection are involved in the transfer, as shown in the figure. In this case, the target queue is considered to be a remote queue to the putting application.
The sequence of events is as follows:
- The putting application issues MQOPEN and MQPUT calls to put messages to the target queue.
- During the MQOPEN call, the name resolution function detects that the target queue is not local, and decides which transmission queue is appropriate. Thereafter, on the MQPUT calls associated with the MQOPEN call, all messages are placed on this transmission queue.
- The sending MCA gets the messages from the transmission queue and passes them to the receiving MCA at the remote computer.
- The receiving MCA puts the messages on the target queue, or queues.
- The getting application issues MQOPEN and MQGET calls to get the messages from the target queue.
Note: Only step 1 and step 5 involve application code; steps 2 through 4 are performed by the local queue managers and the MCA programs. The putting application is unaware of the location of the target queue, which could be in the same processor, or in another processor on another continent.
The combination of sending MCA, the network connection, and the receiving MCA, is called a message channel, and is inherently a unidirectional device. Normally, it is necessary to move messages in both directions, and two channels are set up for this movement, one in each direction.
What is queue name resolution?
Queue name resolution is vital to DQM. It removes the need for applications to be concerned with the physical location of queues, and insulates them against the details of networks.
A systems administrator can move queues from one queue manager to another, and change the routing between queue managers without applications needing to know anything about it.
In order to uncouple from the application design the exact path over which the data travels, it is necessary to introduce a level of indirection between the name used by the application when it refers to the target queue, and the naming of the channel over which the flow occurs. This indirection is achieved using the queue name resolution mechanism.
In essence, when an application refers to a queue name, the name is mapped by the resolution mechanism either to a transmission queue or to a local queue that is not a transmission queue. For mapping to a transmission queue, a second name resolution is needed at the destination, and the received message is placed on the target queue as intended by the application designer. The application remains unaware of the transmission queue and channel used for moving the message.
Note: The definition of the queue and channel is a system management responsibility and can be changed by an operator or a system management utility, without the need to change applications.
An important requirement for the system management of message flows is that alternative paths need to be provided between queue managers. For example, business requirements might dictate that different classes of service are sent over different channels to the same destination. This decision is a system management decision and the queue name resolution mechanism provides a flexible way to achieve it. The Application Programming Guide describes this in detail, but the basic idea is to use queue name resolution at the sending queue manager to map the queue name supplied by the application to the appropriate transmission queue for the type of traffic involved. Similarly at the receiving end, queue name resolution maps the name in the message descriptor to a local (not a transmission) queue or again to an appropriate transmission queue.
Not only is it possible for the forward path from one queue manager to another to be partitioned into different types of traffic, but the return message that is sent to the reply-to queue definition in the outbound message can also use the same traffic partitioning. Queue name resolution satisfies this requirement and the application designer need not be involved in these traffic partitioning decisions.
The point that the mapping is carried out at both the sending and receiving queue managers is an important aspect of the way name resolution works. This mapping allows the queue name supplied by the putting application to be mapped to a local queue or a transmission queue at the sending queue manager, and again remapped to a local queue or a transmission queue at the receiving queue manager.
Reply messages from receiving applications or MCAs have the name resolution carried out in the same way, allowing return routing over specific paths with queue definitions at all the queue managers on route.
System and default objects
Lists the system and default objects created by the crtmqm command.
When you create a queue manager using the crtmqm control command, the system objects and the default objects are created automatically.
- The system objects are those WebSphere MQ objects needed to operate a queue manager or channel.
- The default objects define all the attributes of an object. When you create an object, such as a local queue, any attributes that you do not specify explicitly are inherited from the default object.
System and default objects: queues
Object name Description SYSTEM.ADMIN.ACCOUNTING.QUEUE The queue that holds accounting monitoring data. SYSTEM.ADMIN.ACTIVITY.QUEUE The queue that holds returned activity reports. SYSTEM.ADMIN.CHANNEL.EVENT Event queue for channels. SYSTEM.ADMIN.COMMAND.EVENT Event queue for command events. SYSTEM.ADMIN.COMMAND.QUEUE Administration command queue. Used for remote MQSC commands and PCF commands. SYSTEM.ADMIN.CONFIG.EVENT Event queue for configuration events. SYSTEM.ADMIN.PERFM.EVENT Event queue for performance events. SYSTEM.ADMIN.PUBSUB.EVENT System publish/subscribe related event queue SYSTEM.ADMIN.QMGR.EVENT Event queue for queue manager events. SYSTEM.ADMIN.STATISTICS.QUEUE The queue that holds statistics monitoring data. SYSTEM.ADMIN.TRACE.ACTIVITY.QUEUE The queue that displays trace activity. SYSTEM.ADMIN.TRACE.ROUTE.QUEUE The queue that holds returned trace-route reply messages. SYSTEM.AUTH.DATA.QUEUE The queue that holds access control lists for the queue manager. SYSTEM.CHANNEL.INITQ Channel initiation queue. SYSTEM.CHANNEL.SYNCQ The queue that holds the synchronization data for channels. SYSTEM.CHLAUTH.DATA.QUEUE WebSphere MQ channel authentication data queue SYSTEM.CICS.INITIATION.QUEUE Default CICS initiation queue. SYSTEM.CLUSTER.COMMAND.QUEUE The queue used to carry messages to the repository queue manager. SYSTEM.CLUSTER.HISTORY.QUEUE The queue is used to store the history of cluster state information for service purposes. SYSTEM.CLUSTER.TRANSMIT.MODEL.QUEUE The queue is used to create individual transmit queues for each cluster sender channel. SYSTEM.CLUSTER.REPOSITORY.QUEUE The queue used to store all repository information. SYSTEM.CLUSTER.TRANSMIT.QUEUE The transmission queue for all messages to all clusters. SYSTEM.DEAD.LETTER.QUEUE Dead-letter (undelivered-message) queue. SYSTEM.DEFAULT.ALIAS.QUEUE Default alias queue. SYSTEM.DEFAULT.INITIATION.QUEUE Default initiation queue. SYSTEM.DEFAULT.LOCAL.QUEUE Default local queue. SYSTEM.DEFAULT.MODEL.QUEUE Default model queue. SYSTEM.DEFAULT.REMOTE.QUEUE Default remote queue. SYSTEM.JMS.TEMPQ.MODEL Model for JMS temporary queues SYSTEM.MQEXPLORER.REPLY.MODEL The WebSphere MQ Explorer reply-to queue. This is a model queue that creates a temporary dynamic queue for replies to the WebSphere MQ Explorer. SYSTEM.MQSC.REPLY.QUEUE MQSC command reply-to queue. This is a model queue that creates a temporary dynamic queue for replies to remote MQSC commands. SYSTEM.PENDING.DATA.QUEUE Support deferred messages in JMS.
System and default objects: topics
Object name Description SYSTEM.BASE.TOPIC Base topic for ASPARENT resolution. If a particular topic has no parent administrative topic objects, or those parent objects also have ASPARENT , any remaining ASPARENT attributes are inherited from this object. SYSTEM.DEFAULT.TOPIC Default topic definition.
System and default objects: channels
Object name Description SYSTEM.AUTO.RECEIVER Dynamic receiver channel. SYSTEM.AUTO.SVRCONN Dynamic server-connection channel. SYSTEM.DEF.CLUSRCVR Default receiver channel for the cluster, used to supply default values for any attributes not specified when a CLUSRCVR channel is created on a queue manager in the cluster. SYSTEM.DEF.CLUSSDR Default sender channel for the cluster, used to supply default values for any attributes not specified when a CLUSSDR channel is created on a queue manager in the cluster. SYSTEM.DEF.RECEIVER Default receiver channel. SYSTEM.DEF.REQUESTER Default requester channel. SYSTEM.DEF.SENDER Default sender channel. SYSTEM.DEF.SERVER Default server channel. SYSTEM.DEF.SVRCONN Default server-connection channel. SYSTEM.DEF.CLNTCONN Default client-connection channel.
System and default objects: authentication information objects
Object name Description SYSTEM.DEFAULT.AUTHINFO.CRLLDAP Default authentication information object for defining authentication information objects of type CRLLDAP . SYSTEM.DEFAULT.AUTHINFO.OCSP Default authentication information object for defining authentication information objects of type OCSP .
System and default objects: listeners
Object name Description SYSTEM.DEFAULT.LISTENER.TCP Default TCP listener. SYSTEM.DEFAULT.LISTENER.LU62 1 Default LU62 listener. SYSTEM.DEFAULT.LISTENER.NETBIOS 1 Default NETBIOS listener. SYSTEM.DEFAULT.LISTENER.SPX 1 Default SPX listener.
- Windows only
System and default objects: namelists
Object name Description SYSTEM.DEFAULT.NAMELIST Default namelist.
System and default objects: processes
Object name Description SYSTEM.DEFAULT.PROCESS Default process definition.
System and default objects: services
Object name Description SYSTEM.DEFAULT.SERVICE Default service. SYSTEM.BROKER Publish/subscribe broker Windows default configuration objects
On Windows systems, you can set up a default configuration using the WebSphere MQ Postcard application.
Note: You cannot set up a default configuration if other queue managers exist on your computer.
Many of the names used for the Windows default configuration objects involve the use of a short TCP/IP name. This is the TCP/IP name of the computer, without the domain part; for example the short TCP/IP name for the computer mycomputer.hursley.ibm.com is mycomputer. In all cases, where this name has to be truncated, if the last character is a period (.), it is removed.
Any characters within the short TCP/IP name that are not valid for WebSphere MQ object names (for example, hyphens) are replaced by an underscore character.
Valid characters for WebSphere MQ object names are: a to z, A to Z, 0 to 9, and the four special characters / % . and _.
The cluster name for the Windows default configuration is DEFAULT_CLUSTER.
If the queue manager is not a repository queue manager, the objects listed in Table 1 are created.
Objects created by the Windows default configuration application
Object Name Queue manager The short TCP/IP name prefixed with the characters QM_. The maximum length of the queue manager name is 48 characters. Names exceeding this limit are truncated at 48 characters. If the last character of the name is a period (.), this is replaced by a space ( ). The queue manager has a command server, a channel listener, and channel initiator associated with it. The channel listener listens on the standard WebSphere MQ port, port number 1414. Any other queue managers created on this machine must not use port 1414 while the default configuration queue manager still exists.
Generic cluster receiver channel The short TCP/IP name prefixed with the characters TO_QM_. The maximum length of the generic cluster receiver name is 20 characters. Names exceeding this limit are truncated at 20 characters. If the last character of the name is a period (.), this is replaced by a space ( ). Cluster sender channel The cluster sender channel is initially created with the name TO_+QMNAME+. Once WebSphere MQ has established a connection to the repository queue manger for the default configuration cluster, this name is replaced with the name of the repository queue manager for the default configuration cluster, prefixed with the characters TO_. The maximum length of the cluster sender channel name is 20 characters. Names exceeding this limit are truncated at 20 characters. If the last character of the name is a period (.), this is replaced by a space ( ). Local message queue The local message queue is called default. Local message queue for use by the WebSphere MQ Postcard application The local message queue for use by the WebSphere MQ Postcard application is called postcard. Server connection channel The server connection channel allows clients to connect to the queue manager. Its name is the short TCP/IP name, prefixed with the characters S_. The maximum length of the server connection channel name is 20 characters. Names exceeding this limit are truncated at 20 characters. If the last character of the name is a period (.), this is replaced by a space ( ).
If the queue manager is a repository queue manager, the default configuration is similar to that described in Table 1 , but with the following differences:
- The queue manager is defined as a repository queue manager for the default configuration cluster.
- There is no cluster sender channel defined.
- A local cluster queue that is the short TCP/IP name prefixed with the characters clq_default_ is created. The maximum length of this name is 48 characters. Names exceeding this length are truncated at 48 characters.
If you request remote administration facilities, the server connection channel, SYSTEM.ADMIN.SVRCONN is also created.
SYSTEM.BASE.TOPIC
Base topic for ASPARENT resolution. If a particular topic has no parent administrative topic objects, or those parent objects also have ASPARENT, any remaining ASPARENT attributes are inherited from this object.
The default values of the SYSTEM.BASE.TOPIC are:
Default values of SYSTEM.BASE.TOPIC
Parameter Value TOPICSTR " COMMINFO SYSTEM.DEFAULT.COMMINFO.MULTICAST DEFPRTY 0 DEFPRESP SYNC DEFPSIST NO DESCR 'Base topic for resolving attributes' DURSUB YES MDURMDL SYSTEM.DURABLE.MODEL.QUEUE MNDURMDL SYSTEM.NDURABLE.MODEL.QUEUE MASTER YES MCAST DISABLED NPMSGDLV ALLAVAIL PMSGDLV ALLDUR PUB ENABLE SUB ENABLE USEDLQ YES If this object does not exist, its default values are still used by WebSphere MQ for ASPARENT attributes that are not resolved by parent topics further up the topic tree.
Setting the PUB or SUB attributes of SYSTEM.BASE.TOPIC to DISABLED prevents applications publishing or subscribing to topics in the topic tree, with two exceptions:
- Any topic objects in the topic tree that have PUB or SUB explicitly set to ENABLE. Applications can publish or subscribe to those topics, and their children.
- Publication and subscription to SYSTEM.BROKER.ADMIN.STREAM is not disabled by the setting the PUB or SUB attributes of SYSTEM.BASE.TOPIC to DISABLED.
Configuration file stanzas for distributed queuing
A description of the stanzas of the queue manager configuration file, qm.ini, related to distributed queuing.
This topic shows the stanzas in the queue manager configuration file that relate to distributed queuing. It applies to the queue manager configuration file for WebSphere MQ on Windows, UNIX and Linux systems. The file is called qm.ini on all platforms.
The stanzas that relate to distributed queuing are:
- CHANNELS
- TCP
- LU62
- NETBIOS
- SPX (Windows XP and Windows 2003 Server only)
- EXITPATH
Figure 1 shows the values that you can set using these stanzas. When you are defining one of these stanzas, you do not need to start each item on a new line. You can use either a semicolon (;) or a hash character (#) to indicate a comment.
Figure 1. qm.ini stanzas for distributed queuing
CHANNELS: MAXCHANNELS=n ; Maximum number of channels allowed, the ; default value is 100. MAXACTIVECHANNELS=n ; Maximum number of channels allowed to be active at ; any time, the default is the value of MaxChannels. MAXINITIATORS=n ; Maximum number of initiators allowed, the default ; and maximum value is 3. MQIBINDTYPE=type 1 ; Whether the binding for applications is to be ; "fastpath" or "standard". ; The default is "standard". ADOPTNEWMCA=chltype ; Stops previous process if channel fails to start. ; The default is "NO". ADOPTNEWMCATIMEOUT=n ; Specifies the amount of time that the new ; process should wait for the old process to end. ; The default is 60. ADOPTNEWMCACHECK= ; Specifies the type checking required. typecheck ; The default is "NAME","ADDRESS", and "QM". TCP: ; TCP entries PORT=n ; Port number, the default is 1414 KEEPALIVE=Yes ; Switch TCP/IP KeepAlive on LIBRARY2=DLLName2 ; Used if code is in two libraries EXITPATH: 2 ; Location of user exits (MQSeries for AIX, ; HP-UX, and Solaris only) EXITPATHS= ; String of directory paths.Note:
- MQIBINDTYPE applies only to WebSphere MQ for AIX, WebSphere MQ for HP-UX, and WebSphere MQ for Solaris.
- EXITPATH applies only to WebSphere MQ for AIX, WebSphere MQ for HP-UX, and WebSphere MQ for Solaris.
Channel attributes
This section describes the channel attributes held in the channel definitions.
This information is product-sensitive programming interface information.
You choose the attributes of a channel to be optimal for a particular set of circumstances for each channel. However, when the channel is running, the actual values might have changed during startup negotiations. See Preparing channels .
Many attributes have default values, and you can use these values for most channels. However, in those circumstances where the defaults are not optimal, see this section for guidance in selecting the correct values.
Note: In WebSphere MQ for IBM i, most attributes can be specified as *SYSDFTCHL, which means that the value is taken from the system default channel in your system.
Channel attributes and channel types
Different types of channel support different channel attributes.
The channel types for WebSphere MQ channel attributes are listed in Table 1 .
Channel attributes for the channel types
Attribute field MQSC command parameter SDR SVR RCVR RQSTR CLNT- CONN SVR- CONN CLUS- SDR CLUS- RCVR Alter date ALTDATE Yes Yes Yes Yes Yes Yes Yes Yes Alter time ALTTIME Yes Yes Yes Yes Yes Yes Yes Yes Batch heartbeat interval BATCHHB Yes Yes Yes Yes Batch interval BATCHINT Yes Yes Yes Yes Batch size BATCHSZ Yes Yes Yes Yes Yes Yes Channel name CHANNEL Yes Yes Yes Yes Yes Yes Yes Yes Channel statistics STATCHL Yes Yes Yes Yes Yes Yes Channel type CHLTYPE Yes Yes Yes Yes Yes Yes Yes Yes Client channel weight CLNTWGHT Yes Cluster CLUSTER Yes Yes Cluster namelist CLUSNL Yes Yes Cluster workload priority CLWLPRTY Yes Yes Cluster workload rank CLWLRANK Yes Yes Cluster workload weight CLWLWGHT Yes Yes Connection affinity AFFINITY Yes Connection name CONNAME Yes Yes Yes Yes Yes Yes Convert message CONVERT Yes Yes Yes Yes Data compression COMPMSG Yes Yes Yes Yes Yes Yes Yes Yes Description DESCR Yes Yes Yes Yes Yes Yes Yes Yes Disconnect interval DISCINT Yes Yes Yes 1 Yes Yes Disposition 1 QSGDISP Yes Yes Yes Yes Yes Yes Yes Yes Header compression COMPHDR Yes Yes Yes Yes Yes Yes Yes Yes Heartbeat interval HBINT Yes Yes Yes Yes Yes