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

Popular posts from this blog

What is happening when Matlab is starting a "parallel pool"? -

angular - DownloadURL return null in below code -

php - Cannot override Laravel Spark authentication with own implementation -