ibm mq - Overlapping MQ Cluster and reply message delivery with IBM MQ -
i have 2 clusters clusmes , clushubs. each cluster has 2 queue managers.
cluster clusmes has qmgrs: qmgr1a , qmgr1b
cluster clushubs has qmgrs: qmgr3a , qmgr3b
there gateway qmgr: qmgr2, forms overlap , partial repository in each mq cluster.
request messages sent out either qmgr1a/b either qmgr3a/b via qmgr2 acts cluster load balance qmgr3a/b (this works fine) , reply expected sending qmgr.
all channel connectivity in place , functional. problem how return message came from. replying qmgr connects qmgr3a/b , issues put. either remote_qmgr not found (mqrc 2087) or mq object not found (mqrc 2085) depending on how have configured. message header of message contains replytoqueue , replytoqmgr properly. have replying application issue put , have delivered proper queue in clusmes, proving extremely difficult. have played remote qmgr alias , qalias on gateway qmgr: qmgr2, no luck. there got simple trick , there plenty of examples, have not been able implement 1 successfully. clear cut example of return path should helpful. keep in mind, replytoqmgris in mqmd , resolution needs occur that. need resolution occur @ qmgr2 level, both clusters known. concrete full suggestions appreciated.
mq definitions on qmgr1a/b, reply expected:
define qlocal('server.replyq') cluster('clusmes') on qmgr2 ( gateway message hoping)
define namelist(clustest) names(clusmes,clushubs) define qalias(server.alias.replyq) targq(server.replyq) cluster(clustest) defbind(notfixed) define qremote(qmgr1a) rname(' ') rqmname(qmgr1a) xmitq('') cluster(clushubs) define qremote(qmgr1b) rname(' ') rqmname(qmgr1b) xmitq('') cluster(clushubs) on mqmgr3a/b qalias(server.alias.replyq) cluster queue. gateway qmgr not resolve baseq: mqrc_unknown_alias_base_q 2082
this configuration when trying resolve using cluster.
when request message sent application specify replytoqmgr of either qmgr1a , qmgr1b , replytoqueue name of queue present on qmgr1a , qmgr1b, reply queue need not clustered.
on gateway queue manager qmgr2 define following objects:
define qremote(qmgr1a) rname('') rqmname(qmgr1a) xmitq('') cluster(clushubs) define qremote(qmgr1b) rname('') rqmname(qmgr1b) xmitq('') cluster(clushubs) this allows queue manager in cluster clushubs route reply messages qmgr1a , qmgr1b via gateway queue manager qmgr2.
if want limit queues on qmgr1a , qmgr1b queue managers in clushubs cluster can put need take different approach. let me know if need , update answer suggestions.
Comments
Post a Comment