How to create queue manager and reply-to aliases

This topic explains the three ways that you can create a remote queue definition.

The remote queue definition object is used in three different ways. Table 1 explains how to define each of the three ways:
  • Using a remote queue definition to redefine a local queue name.

    The application provides only the queue name when opening a queue, and this queue name is the name of the remote queue definition.

    The remote queue definition contains the names of the target queue and queue manager. Optionally, the definition can contain the name of the transmission queue to be used. If no transmission queue name is provided, the queue manager uses the queue manager name, taken from the remote queue definition, for the transmission queue name. If a transmission queue of this name is not defined, but a default transmission queue is defined, the default transmission queue is used.

  • Using a remote queue definition to redefine a queue manager name.

    The application, or channel program, provides a queue name together with the remote queue manager name when opening the queue.

    If you have provided a remote queue definition with the same name as the queue manager name, and you have left the queue name in the definition blank, then the queue manager substitutes the queue manager name in the open call with the queue manager name in the definition.

    In addition, the definition can contain the name of the transmission queue to be used. If no transmission queue name is provided, the queue manager takes the queue manager name, taken from the remote queue definition, for the transmission queue name. If a transmission queue of this name is not defined, but a default transmission queue is defined, the default transmission queue is used.

  • Using a remote queue definition to redefine a reply-to queue name.

    Each time an application puts a message to a queue, it can provide the name of a reply-to queue for answer messages but with the queue manager name blank.

    If you provide a remote queue definition with the same name as the reply-to queue then the local queue manager replaces the reply-to queue name with the queue name from your definition.

    You can provide a queue manager name in the definition, but not a transmission queue name.

Table 1. 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 Queue name resolution.