Author |
Message
|
David.Partridge |
Posted: Wed Mar 14, 2007 5:38 am Post subject: QMA (queue manager alias) in cluster |
|
|
 Master
Joined: 28 Jun 2001 Posts: 249
|
I have three QMs in a cluster CLUS: A, B and C
For various reasons relating to firewall and DNS policy, I want to route a reply message from A to C via B where the replyq (TARGQ) is on C and the replyqm is C.
So on QMA I defined QREMOTE(C) RQMNAME(CLUS.C)
on B I defined QREMOTE(CLUS.C) RQMNAME(C) CLUSTER(CLUS)
I then went to test this using amqsput on A. I defined a QR(TEST) RNAME(TARGQ) RQMNAME(C).
But when I put a message, QM A tried to start a cluster channel to C rather than using the QMA.
I've re-read "Resolving queue names when using MQOPEN" in the APG until I'm blue in the face, but still can't see why this shouldn't work
Obviously I'm missing something, but what? Is this just a case that you can't test a QMA for request/reply using a local QR and amqsput.
Thanks
Dave |
|
Back to top |
|
 |
Michael Dag |
Posted: Wed Mar 14, 2007 5:42 am Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
for what you are trying you need overlapping clusters
ie. CLUS1 with QMA and QMB and CLUS2 with QMB and QMC
if you have one CLUSTER QMA will try to go directly to QMC and bypass B... _________________ Michael
MQSystems Facebook page |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Mar 14, 2007 5:48 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You can change the cluster workload priority on the channels or the objects to impact how things get routed in a cluster, in v6, *without* using overlapped clusters.
You can use normal point-to-point messaging between QMGRA and QMGRB to solve this problem, again without using overlapped clusters. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
David.Partridge |
Posted: Wed Mar 14, 2007 7:40 am Post subject: |
|
|
 Master
Joined: 28 Jun 2001 Posts: 249
|
In the end I decided to pull A out of the cluster and do it all the using regular channels and QREMOTES.
Sometimes the old way is the best
Dave |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Mar 14, 2007 1:15 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You didn't have to remove it from the cluster.
You could have just used a transmit queue name as your qmgr name, instead of allowing the cluster to resolve the queue name. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
David.Partridge |
Posted: Thu Mar 15, 2007 8:50 am Post subject: |
|
|
 Master
Joined: 28 Jun 2001 Posts: 249
|
I have since run some experiments using the request and echo samples.
I found that a QMA does work to route the replies from A to C via B.
the QMA I defined on A was
define QREMOTE(C) RQMNAME(CLUS.C)
and the QMA on B:
define QREMOTE(CLUS.C) RQMNAME(C) CLUSTER(CLUS)
Replies were routed from A to C via B without using cluster channel from A to C which was what was wanted.
Dave |
|
Back to top |
|
 |
|