Some of the content described in this article is available in meshIQ Manage versions 11.1.1 and later. See meshIQ platform Highlights v11.1 for an overview of feature changes.
Jump ahead: |
The reroute feature transmits messages from one queue manager to another, for example, sending messages from queue manager T1 to a local queue (LQ2) on remote queue manager T2. This feature works by dynamically altering definitions to enable the messages to be transmitted.
Rerouting Requirements
Rerouting messages requires the following:
- Channels: Create a sender and receiver channel on each of the queue managers. This feature works by dynamically altering the definitions to enable the messages to be transmitted. The channels are one directional and must have the same name, for example:
Sender Channel (on T1): Chl1
Receiver Channel (on T2): Chl1 - Transmission Queue: Create a transmission queue on the sending queue manager (T1), for example:
Transmission Queue: XmitQ1 - Remote Queue: Create a remote queue on the sending queue manager (T1). It will need to point to the local queue (LQ2) receiving the messages (located on the receiving queue manager T2). For example:
Remote Queue: RQ1 - User Rights: Users who will be rerouting messages need security rights to make definition changes to the objects listed above. These objects will need to be defined with special security rules, allowing them to be altered by users with the reroute rights.
The Reroute button in the console panel is only active for users with the Reroute Messages right (even though all users with the Show Queue Manager Attributes right can see it).
The set of rights required to perform the reroute messages action itself depends on the version you are using:
-
- Prior to version 10.4, the following rights were required: Change Channel, Change Queue, Move Messages, Start Channel, Stop Channel, and Refresh Queue Runtime.
- In versions 10.4.0 and later, in addition to the Reroute Messages right that makes the button available, you must also have the Move Messages right for both the queue you are moving the message from and the queue you are moving the message to. Moreover, if you are rerouting messages from one queue manager to another and channels are used, you must also have the Start Channel, Stop Channel, and Change Channel rights.
The Rerouting Process
Using the diagram above, the components dynamically update the object definitions to reroute messages from MYQ on queue manager T1 to local queue LQ2 on queue manager T2 as follows:
- Alter the remote queue (RQ1) on T1 to:
- Point to the target local queue (LQ2) on T2.
- Use T1’s transmission queue (XmitQ1).
- Alter the sending channel (Chl1) on T1 to:
- To point at the connection for T2.
- To use the transmission queue (XmitQ1).
- Start the sending channel (Chl1).
- Move the messages from MYQ to RQ1 on T1. This causes them to be placed on the transmission queue, picked up by the channel, transmitted to T2 and placed on LQ2.
Second Example: To move messages from MYQ to LQ1, the process is the same except RQ1 will need to point to LQ1 instead of LQ2. All other steps are the same and the same objects are used, pointing at LQ2 instead of LQ1.
Third Example: To move messages from MYQ to LQ1 on T3, the process is the same except the channel will be directed at T3 instead of T2. T3 needs a receiving channel Chl1 as well.
Reroute Configuration
Perform the following to reroute messages:
- Open the messages to be rerouted in the Console panel. (See Locating messages when browsing a specific queue for information on viewing a queue’s messages.) Select the message(s) to be rerouted and click the Reroute button ( in previous versions) from the Message Viewlet toolbar. The Reroute Messages window opens.
- The Re-route from and Current queue depth fields display the name of the messages’ queue and the queue’s depth. Please note that these fields are always inactive.
- Select a Routing template from the drop-down list. To create a new template instead, enter a template name in the Routing template field and press the Enter key on your keyboard. To delete a template, select it and click the Delete Template button.
- Select a Routing Scope (a description of each option appears immediately below the option name). It will be used when there is a need to reroute messages into a location not defined in message headers.
- Click Next to continue configuring the reroute properties. The Reroute Messages window opens. Select a Routing destination option and click Next. (To re-route messages from one queue to another when they belong to different queue managers, select New destination for the Routing destination and proceed to step 8.)
- If either Original destination or Back to Sender were selected for the Routing destination, the following window will open. By default, both transmission-queue (XQH) and dead-letter (DLH) headers are stripped from messages during rerouting (based on the Strip message headers STRIP ALL selection). But you can choose to strip only XQH headers (STRIP XQH), only DLH headers (STRIP DLH), or neither (LEAVE ALL).
- Click Next.
- A summary of the reroute plan for the selected messages displays. If everything is correct, click Finish to complete the rerouting process.
- If New destination was selected for the Routing destination (this option is used to re-route messages from one queue to another if they belong to different queue managers), a window similar to the one below will open. Select a Destination Queue name from the drop-down list.
- Click Next for additional options. Specify the properties and click Next to view the reroute summary.