Reply-to queue alias example
This example illustrates the use of a reply-to alias to select a different route (transmission queue) for returned messages. The use of this facility requires the reply-to queue name to be changed in cooperation with the applications.
As shown in Figure 1, the return route must be available for the reply messages, including the transmission queue, channel, and queue manager alias.This example is for requester applications at 'QM1' that send messages to server applications at 'QM2'. The messages on the server are to be returned through an alternative channel using transmission queue 'QM1_relief' (the default return channel would be served with a transmission queue 'QM1').
The reply-to queue alias is a particular use of the remote queue definition named 'Answer_alias'. Applications at QM1 include this name, 'Answer_alias', in the reply-to field of all messages that they put on queue 'Inquiry'.
Reply-to queue definition 'Answer_alias' is defined as 'Answer at QM1_relief'. Applications at QM1 expect their replies to appear in the local queue named 'Answer'.
Server applications at QM2 use the reply-to field of received messages to obtain the queue and queue manager names for the reply messages to the requester at QM1.
Definitions used in this example at QM1
The IBM MQ system administrator at QM1 must ensure that the reply-to queue 'Answer' is created along with the other objects. The name of the queue manager alias, marked with a '*', must agree with the queue manager name in the reply-to queue alias definition, also marked with an '*'.
Object | Definition | |
---|---|---|
Local transmission queue | QM2 | |
Remote queue definition | Object name | Inquiry |
Remote queue manager name | QM2 | |
Remote queue name | Inquiry | |
Transmission queue name | QM2 (DEFAULT) | |
Queue manager alias | Object name | QM1_relief * |
Queue manager name | QM1 | |
Queue name | (blank) | |
Reply-to queue alias | Object name | Answer_alias |
Remote queue manager name | QM1_relief * | |
Remote queue name | Answer |
Put definition at QM1
Applications fill the reply-to fields with the reply-to queue alias name, and leave the queue manager name field blank.
Field | Content | |
---|---|---|
Queue name | Inquiry | |
Queue manager name | (blank) | |
Reply-to queue name | Answer_alias | |
Reply-to queue manager | (blank) |
Definitions used in this example at QM2
The IBM MQ system administrator at QM2 must ensure that the local queue exists for the incoming messages, and that the correctly named transmission queue is available for the reply messages.
Object | Definition | |
---|---|---|
Local queue | Inquiry | |
Transmission queue | QM1_relief |
Put definition at QM2
Applications at QM2 retrieve the reply-to queue name and queue manager name from the original message and use them when putting the reply message on the reply-to queue.
Field | Content | |
---|---|---|
Queue name | Answer | |
Queue manager name | QM1_relief |