Adding a cluster and a cluster transmit queue to isolate cluster message traffic sent from a gateway queue manager
Modify the configuration of overlapping clusters that use a gateway queue manager. After the modification messages are transferred to an application from the gateway queue manager without using the same transmission queue or channels as other cluster messages. The solution uses an additional cluster to isolate the messages to a particular cluster queue.
Before you begin
The steps in the task are written to modify the configuration illustrated in Figure 1.
- The gateway queue manager must be on IBM® WebSphere® MQ 7.5, or later.
- Construct the overlapping clusters shown in Client-server application deployed to hub and spoke architecture using IBM MQ clusters in Creating two-overlapping clusters with a gateway queue manager by following the steps in that task.
- Do the steps in Figure 1 in Adding a cluster transmit queue to isolate cluster message traffic sent from a gateway queue manager to create the solution without the additional cluster. Use this as a base for the steps in this task.
About this task
The solution to isolating message traffic to a single application in Adding a cluster transmit queue to isolate cluster message traffic sent from a gateway queue manager works if the target cluster queue is the only cluster queue on a queue manager. If it is not, you have two choices. Either move the queue to a different queue manager, or create a cluster that isolates the queue from other cluster queues on the queue manager.
This task takes you through the steps to add a cluster to isolate the target queue. The cluster is added just for that purpose. In practice, approach the task of isolating certain applications systematically when you are in the process of designing clusters and cluster naming schemes. Adding a cluster each time a queue requires isolation might end up with many clusters to manage. In this task, you change the configuration in Adding a cluster transmit queue to isolate cluster message traffic sent from a gateway queue manager by adding a cluster CL3
to isolate Q1
on QM3
. Applications continue to run throughout the change.
The new and changed definitions are highlighted in Figure 1. The summary of the changes is as follows: Create a cluster, which means you must also create a new full cluster repository. In the example, QM3
is made one of the full repositories for CL3
. Create cluster-sender and cluster-receiver channels for QM1
to add the gateway queue manager to the new cluster. Change the definition of Q1
to switch it to CL3
. Modify the cluster namelist on the gateway queue manager, and add a cluster transmission queue to use the new cluster channel. Finally, switch the queue alias Q1A
to the new cluster namelist.
IBM MQ cannot transfer messages from the transmission queue XMITQ.CL2.QM3
that you added in Adding a cluster transmit queue to isolate cluster message traffic sent from a gateway queue manager to the new transmission queue XMITQ.CL3.QM3
, automatically. It can transfer messages automatically only if both transmission queues are served by the same cluster-sender channel. Instead, the task describes one way to perform the switch manually, which might be appropriate to you. When the transfer is completed, you have the option of reverting to using the default cluster transmission queue for other CL2
cluster queues on QM3
. Or you can continue to use XMITQ.CL2.QM3
. If you decide to revert to a default cluster transmission queue, the gateway queue manager manages the switch for you automatically.
Procedure
What to do next
Test the separately clustered queue by sending a message from QM2
to Q1
on QM3
using the queue alias definition Q1A
- Run the sample program amqsput on
QM2
to put a message.
C:\IBM\MQ>amqsput Q1A QM2
Sample AMQSPUT0 start
target queue is Q1A
Sample request message from QM2 to Q1 using Q1A
Sample AMQSPUT0 end
- Run the sample program amqsget to get the message from
Q1
onQM3
C:\IBM\MQ>amqsget Q1 QM3
Sample AMQSGET0 start
message <Sample request message from QM2 to Q1 using Q1A>
no more messages
Sample AMQSGET0 end