Home
Auto-definition of channels
When you use distributed queuing, a queue manager must have a definition for a sender channel before it can send a message to a remote destination.
When a queue manager has joined a cluster by making its initial CLUSSDR and CLUSRCVR definitions, it does not need to make any other definitions for channels to other queue managers in the cluster. WebSphere MQ automatically makes cluster-sender channel definitions when they are needed. When both the cluster-sender end and the cluster-receiver end of a channel are defined, the channel is started. An auto-defined channel remains active until it is no longer needed and is shut down using the normal disconnect-interval rules.
Auto-defined cluster-sender channels take their attributes from those specified in the corresponding cluster-receiver channel definition on the receiving queue manager. Even if there is a manually-defined cluster-sender channel, its attributes are automatically modified to ensure that they match those on the corresponding cluster-receiver definition. Always be aware of this, suppose, for example that you define a CLUSRCVR without specifying a port number in the CONNAME parameter, and manually define a CLUSSDR that does specify a port number. When the auto-defined CLUSSDR replaces the manually defined one, the port number (taken from the CLUSRCVR) becomes blank. The default port number is used and the channel fails.
We cannot modify an auto-defined cluster-sender definition.
We cannot see automatically-defined channels using the DISPLAY CHANNEL command. To see the auto-defined channels use the command DISPLAY CLUSQMGR(qmname). We can also use the command DISPLAY CHSTATUS(channelname) to display the status of the auto-defined CLUSSDR channel corresponding to the CLUSRCVR channel definition you created. For more information about these commands, refer to the WebSphere MQ Script (MQSC) Command Reference book.
We can enable the WebSphere MQ channel auto-definition exit if you want to write a user exit program to customize a cluster-sender channel or cluster-receiver channel. You might, for example, do this in a cluster environment to:
- Tailor communications definitions, that is, SNA LU6.2 names
- Add or remove other exits, for example, security exits
Change the names of channel exits. The format of exit names is different on different platforms. For example, on z/OS the format of the SCYEXIT (security exit name) parameter is SCYEXIT('SECEXIT'), whereas on Windows it is SCYEXIT('drive:/path/library(secexit)'). If there is no channel auto-definition exit, the z/OS queue manager derives the exit name as follows:
Exit names on platforms other than z/OS are of the general form path/library(function). If function is present, up to 8 chars of that are used. Otherwise, library, truncated to 8 chars is used. For example:
- "/var/mqm/exits/myExit.so(MsgExit)" converts to "MSGEXIT"
- "/var/mqm/exits/myExit" converts to "MYEXIT"
- "/var/mqm/exits/myExit.so(ExitLongName)" converts to "EXITLONG"
See WebSphere MQ Intercommunication for information about the channel auto-definition exit and how to use it.
To enable an outbound (TCP) channel to use a particular IP Address, port or port range, use the channel attribute LOCLADDR. This is useful if you have more than one network card and you want a channel to use a specific one for outbound communications.
If you want to specify a virtual IP address (or a port range) on CLUSSDR channels, use the IP address from the LOCLADDR on a manually defined CLUSSDR, and the port range from the CLUSRCVR.
If a cluster needs to use LOCLADDR to get the outbound communication channels to bind to a specific IP Address, write a Channel Auto-Definition Exit in order to force the LOCLADDR value into any of their automatically defined CLUSSDR channels, and specify it in the manually defined CLUSSDR channel.
You should not put an IP Address in the LOCLADDR field of a CLUSRCVR channel, unless all queue managers reside on the same machine. This is because any queue manager that attempts to connect to a queue manager with an IP Address in the LOCLADDR field of its CLUSRCVR will have these values propagated to their auto-defined CLUSSDR channels.
We can put a port number or port range in the LOCLADDR of a CLUSRCVR channel, if you want all the queue managers in a cluster to use a specific port or range of ports, for all their outbound communications
Auto-defined cluster sender channel definitions are not real channel objects and on platforms other than z/OS, the OAM (object authority manager) is not aware of their existence. If you try to issue start, stop, ping, reset, or resolve commands on auto-defined cluster sender channels, the OAM checks to see whether you are authorized to perform the same action on the cluster receiver channel for the cluster. See the WebSphere MQ System Administration Guide for details. On z/OS we can secure a cluster-sender channel in the same way as any other channel. See the WebSphere MQ System Setup Guide for details
Parent topic:
Components of a cluster
qc10760_
Home