ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum IndexGeneral IBM MQ SupportMQRC 2087 not able to resolve based on needs

Post new topicReply to topic Goto page Previous  1, 2
MQRC 2087 not able to resolve based on needs View previous topic :: View next topic
Author Message
PeterPotkay
PostPosted: Mon Jun 26, 2017 5:07 pm Post subject: Reply with quote

Jedi Council

Joined: 15 May 2001
Posts: 7358

smeunier wrote:
Quote:
Are the "1" queue managers in one cluster, the "3" queue managers in another cluster, and QMGR2 in both clusters?


Yes, the "1" Queue managers are in one cluster and the "3" Queue managers are in another cluster. QMGR2 is a member of both clusters. So QMGR2 is in overlapping clusters. I think the easy solution is somewhere embedded in that fact. there are two clusters on either side of QMGR2, one for test environment and one for PROD environment. So in reality, there are 4 cluster that QMGR2 is involved in. The Queue names are the same for all qmgrs. So message affinity(to the reply2qmgr) must be maintained through the cluster.


The way I would solve this is to create Queue Manager Aliases on QMGR2, shared in both clusters.

On QMGR2 create a QM Alias called MY_QMGR1a, that resolves the QM Name to QMGR1a.
On QMGR2 create a QM Alias called MY_QMGR1b, that resolves the QM Name to QMGR1b.

Now if an app connected to QMGR3a MQOPENs/MQPUT1s a message to THE.REPLY.QUEUE on MY_QMGR1b, the QM Alias on QMGR2 will "catch it", flip the destination QM name from MY_QMGR1b to QMGR1b, at which point the real QMGR1b catches the message and the message arrives in THE.REPLY.QUEUE.

So, how to get request messages to be sent with MQMD_ReplyToQueue set to THE.REPLY.QUEUE and the MQMD Reply To QM set to MY_QMGR1b if leaving from MY_QMGR1b? Use the rarely used ReplyTo Alias definition. Search for it in the manuals. On QMGR1b you create a Remote Queue Definition called MY.AWESOME.REPLY.QUEUE, and set its remote queue to THE.REPLY.QUEUE and its remote queue manager to MY_QMGR1b. Do the same on QMGR1a, except set the remote queue manager name to MY_QMGR1a. Now when your requesting app sets its MQMD Reply To Queue, it sets it to MY.AWESOME.REPLY.QUEUE, and it gets to leave the MQMD Reply To Queue Manager blank, which is ideal. But the request message gets sent with the real reply to queue (THE.REPLY.QUEUE) and the reply to queue manager set to MY_QMGR1b (or a). What's happening is the ReplyTo Alias intercepts the put of the request message and tweaks the MQMD's Reply To info to your desired values. Whoa, powerful stuff! Your requesting app doesn't have to keep track of funky reply to queue manager names, it gets to leave the MQMD Reply To QM field blank on its puts. Yet the request messages it produces have the reply to details you need. No need for any definitions on QMGR3a and QMGR3b, no need for them to even know the real #1 QM names. Obfuscate the names as much as you need.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum IndexGeneral IBM MQ SupportMQRC 2087 not able to resolve based on needs
Jump to:



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP


Theme by Dustin Baccetti
Powered by phpBB 2001, 2002 phpBB Group

Copyright MQSeries.net. All rights reserved.