Message flow control

Message flow control is a task that involves the setting up and maintenance of message routes between queue managers. This is very important for routes that multi-hop through many queue managers.

You control message flow using a number of techniques that were introduced in Chapter 2, Making your applications communicate. If your queue manager is in a cluster, message flow is controlled using different techniques, as described in the WebSphere MQ Queue Manager Clusters book. If your queue managers are in a queue sharing group and intra-group queuing (IGQ) is enabled, then the message flow can be controlled by IGQ agents, which are described in Chapter 37, Intra-group queuing .

This chapter describes how you use your system's queues, alias queue definitions, and message channels to achieve message flow control.

You make use of the following objects:

The queue manager and queue objects are described in the WebSphere MQ System Administration Guide book for WebSphere MQ for AIX, HP-UX, Linux, Solaris, and Windows systems, and MQSeries V5.1 for Compaq Tru64 UNIX, and OS/2 Warp, in the WebSphere MQ for iSeries V5.3 System Administration book for WebSphere MQ for iSeries, in the WebSphere MQ for z/OS Concepts and Planning Guide for WebSphere MQ for z/OS, or in the MQSeries System Management Guide for your platform. Message channels are described in Message channels. The following techniques use these objects to create message flows in your system:

Note

All the concepts described in this chapter are relevant for all nodes in a network, and include sending and receiving ends of message channels. For this reason, only one node is illustrated in most examples, except where the example requires explicit cooperation by the administrator at the other end of a message channel.

Before proceeding to the individual techniques it is useful to recap on the concepts of name resolution and the three ways of using remote queue definitions. See Chapter 3, More about intercommunication.

Queue names in transmission header

The queue name used by the application, the logical queue name, is resolved by the queue manager to the destination queue name, that is, the physical queue name. This destination queue name travels with the message in a separate data area, the transmission header, until the destination queue has been reached after which the transmission header is stripped off.

You will be changing the queue manager part of this queue name when you create parallel classes of service. Remember to return the queue manager name to the original name when the end of the class of service diversion has been reached.

How to create queue manager and reply-to aliases

As discussed above, the remote queue definition object is used in three different ways. Table 2 explains how to define each of the three ways:


Table 2. Three ways of using the remote queue definition object

Usage Queue manager name Queue name Transmission queue name
1. Remote queue definition (on OPEN call)
Supplied in the call blank or local QM (*) required   -
Supplied in the definition required required optional
2. Queue manager alias (on OPEN call)
Supplied in the call (*) required and not local QM required   -
Supplied in the definition required blank optional
3. Reply-to queue alias (on PUT call)
Supplied in the call blank (*) required   -
Supplied in the definition optional optional blank
Note:
(*) means that this name is the name of the definition object

For a formal description, see Appendix B, Queue name resolution.



© IBM Corporation 2002. All Rights Reserved