Author |
Message
|
mq__quest |
Posted: Thu Jun 14, 2018 12:21 pm Post subject: Multi Hopping -- why are these definitions not working?? |
|
|
Apprentice
Joined: 21 Aug 2017 Posts: 49
|
Hello,
I have this setup and it works fine, routes msgs from QM1 --> QM2 --> QM3 --> QM4
QM1 CLUSTER1
DEFINE QR(TO.QM4.QR) RNAME(TO.QM4.QR) RQMNAME(QMALIAS)
QM2 CLUSTER1 (gateway qmgr)
DEFINE QR(QMALIAS) RNAME('') RQMNAME(QM3) XMITQ(QM3) CLUSTER(CLUSTER1)
QM3
DEFINE QR(TO.QM4.QR) RNAME(TO.QM4.QL) RQMNAME(QM4) XMITQ(QM4)
QM4
DEFINE QL(TO.QM4.QL)
On QM2, I alter the definitions to below and it stopped working. Msgs land in QM2 (gateway qmgr) dlq with the error MQRC_XMIT_Q_TYPE_ERROR. Could someone tell what's the flaw in my definitions?
DEFINE QR(QMALIAS) RNAME('') RQMNAME(AQM3) XMITQ('') CLUSTER(CLUSTER1)
DEFINE QR(AQM3) RNAME('') RQMNAME(QM3) XMITQ(QM3)
Last edited by mq__quest on Mon Jun 18, 2018 7:08 am; edited 1 time in total |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Jun 14, 2018 1:12 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
The dead-letter-header (DLH) of the message in the DLQ will specify the name of the "XMITQ" that is not an xmitq. Post here the complete DLH. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Last edited by bruce2359 on Mon Jun 18, 2018 1:22 pm; edited 1 time in total |
|
Back to top |
|
 |
mq__quest |
Posted: Thu Jun 14, 2018 4:31 pm Post subject: |
|
|
Apprentice
Joined: 21 Aug 2017 Posts: 49
|
bruce2359 wrote: |
The dead-letter-header (DLH) of the message in the DLQ will specify the name of the "XMITQ" that is not an xmitq. Post here the complete DLH. |
mqrc 2091 MQRC_XMIT_Q_TYPE_ERROR
Original Destination QMGR: QMALIAS
Original Destination Queue: TO.QM4.QR
put Application Name: amqrmppa
This is all the DLH has. It doesn't say anything about xmitq.
on QM2, i have the xmitq "DEFINE QL(QM3) USAGE(XMITQ)" |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jun 14, 2018 6:51 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Well you are making a mess of the setup.
as you are in a cluster do not define an xmitq on your alias...
You are completely neglecting cluster routing but then having a cluster wide alias?... Not a good fit.
Either do point to point routing or do cluster routing. Refrain from mixing both until you master the subject of default routing much much better.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mq__quest |
Posted: Fri Jun 15, 2018 6:43 am Post subject: |
|
|
Apprentice
Joined: 21 Aug 2017 Posts: 49
|
What I'm trying to achieve is this, are my definitions correct?
QM1
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QR) RQMNAME(EXT.ALIAS)
QM2
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QR) RQMNAME(EXT.ALIAS)
GW1
DEFINE QR(EXT.ALIAS) RNAME('') RQMNAME(EXT) CLUSTER(CLUSTER1)
DEFINE QR(EXT) RNAME('') RQMNAME(EXT1) XMITQ(EXT1)
DEFINE QL(EXT1) USAGE(XMITQ)
GW2
DEFINE QR(EXT.ALIAS) RNAME('') RQMNAME(EXT) CLUSTER(CLUSTER1)
DEFINE QR(EXT) RNAME('') RQMNAME(EXT2) XMITQ(EXT2)
DEFINE QL(EXT2) USAGE(XMITQ)
EXT1
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QL) RQMNAME(VENDOR) XMITQ(VENDOR)
EX2
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QL) RQMNAME(VENDOR) XMITQ(VENDOR)
VENDOR
DEFINE QL(TO.VENDOR.QL)
Last edited by mq__quest on Mon Jun 18, 2018 6:54 am; edited 1 time in total |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Jun 16, 2018 1:12 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
These definitions are not correct.
On GW1 and GW2 you need to add the XMITQ to your QR(EXT).
The same way on EXT1 and EXT2 you need to add the XMITQ to your QR definition.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mq__quest |
Posted: Mon Jun 18, 2018 6:58 am Post subject: |
|
|
Apprentice
Joined: 21 Aug 2017 Posts: 49
|
fjb_saper wrote: |
These definitions are not correct.
On GW1 and GW2 you need to add the XMITQ to your QR(EXT).
The same way on EXT1 and EXT2 you need to add the XMITQ to your QR definition.
Have fun  |
I did, updated the post. And defined required sdr-rcvr channels too.
Msgs end up in GW1 and GW2 dlq with the below DLH
MQRC 2091 MQRC_XMIT_Q_TYPE_ERROR
Original Dest Queue Manager: EXT.ALIAS
Original Dest Queue: TO.VENDOR.QR
Put App name: amqrmppa
is defining 2 QM Aliases on a qmgr valid? |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Jun 18, 2018 10:24 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Your problem is the missing xmitq and the destination is not in the cluster.
Code: |
DEFINE QR(EXT.ALIAS) RNAME('') RQMNAME(EXT) CLUSTER(CLUSTER1) |
In fact what you should have is following: on GW1/GW2
Code: |
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QR) CLUSTER(CLUSTER1) RQMNAME(VENDOR) XMITQ (EXT1)
and on EXT1
DEFINE QL(VENDOR) USAGE(XMITQ) (and have it plugged into the channel to VENDOR) |
Hope it helps
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Jun 19, 2018 5:45 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
mq__quest wrote: |
is defining 2 QM Aliases on a qmgr valid? |
Amqrmppa is the RCVR channel end attempting to resolve the xmitq name, and failing.
Yes, you can have many, many queue-manager aliases (QRemote) definitions in a qmgr; however, you cannot chain them together endlessly. Similarly, you cannot (successfully) have a QAlias resolve to another QAlias.
FJ's solution above combines your multiple, chained QRemote definitions into a single QR def. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
mq__quest |
Posted: Tue Jun 19, 2018 7:49 am Post subject: |
|
|
Apprentice
Joined: 21 Aug 2017 Posts: 49
|
Thanks guys. I got the below 2 setups working.
QM1
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QR) RQMNAME(EXT.ALIAS) DEFBIND(NOTFIXED)
QM2
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QR) RQMNAME(EXT.ALIAS) DEFBIND(NOTFIXED)
GW1
DEFINE QR(EXT.ALIAS) RNAME('') RQMNAME(EXT1) CLUSTER(CLUSTER1) DEFBIND(NOTFIXED)
DEFINE QL(EXT1) USAGE(XMITQ)
GW2
DEFINE QR(EXT.ALIAS) RNAME('') RQMNAME(EXT2) CLUSTER(CLUSTER1) DEFBIND(NOTFIXED)
DEFINE QL(EXT2) USAGE(XMITQ)
EXT1
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QL) RQMNAME(VENDOR) XMITQ(VENDOR)
EX2
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QL) RQMNAME(VENDOR) XMITQ(VENDOR)
VENDOR
DEFINE QL(TO.VENDOR.QL)
-----------------------
QM1
DEFINE QR(TO.VENDOR.QA) TARGET(TO.VENDOR.QR) DEFBIND(NOTFIXED)
QM2
DEFINE QR(TO.VENDOR.QA) TARGET(TO.VENDOR.QR) DEFBIND(NOTFIXED)
GW1
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QL) RQMNAME(VENDOR) XMITQ(EXT1) CLUSTER(CLUSTER1) DEFBIND(NOTFIXED)
DEFINE QL(EXT1) USAGE(XMITQ)
GW2
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QL) RQMNAME(VENDOR) XMITQ(EXT2) CLUSTER(CLUSTER1) DEFBIND(NOTFIXED)
DEFINE QL(EXT2) USAGE(XMITQ)
EXT1
DEFINE QL(VENDOR) USAGE(XMITQ)
EX2
DEFINE QL(VENDOR) USAGE(XMITQ)
VENDOR
DEFINE QL(TO.VENDOR.QL) |
|
Back to top |
|
 |
mq__quest |
Posted: Tue Jun 19, 2018 7:56 am Post subject: |
|
|
Apprentice
Joined: 21 Aug 2017 Posts: 49
|
With both setups, the messages are equally distributing across both the GW qmgrs and reaching the desitnation (VENDOR) qmgr.
But when I try to "dspmqrte", it doesn't show the complete message route, it finishes after exiting the GW qmgr. Is it not supposed to show the activity until the msg reaches the TO.VENDOR.QL?
dspmqrte -q TO.VENDOR.QR -m QM1
AMQ8653I: DSPMQRTE command started with options '-q TO.VENDOR.QR -m QM1'.
AMQ8659I: DSPMQRTE command successfully put a message on queue 'SYSTEM.CLUSTER.TRANSMIT.QUEUE', queue manager 'QM1'.
AMQ8674I: DSPMQRTE command is now waiting for information to display.
AMQ8666I: Queue 'SYSTEM.CLUSTER.TRANSMIT.QUEUE' on queue manager 'QM1'.
AMQ8666I: Queue 'EXT1' on queue manager 'GW1'. --- After this line, it takes about 2 mins to display the last line. Is this how it works? or is there something wrong with the setup?
AMQ8652I: DSPMQRTE command has finished. |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Jun 19, 2018 8:53 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
So, the route msg arrives on GW1's EXT1 xmitq.
Is the sdr channel from GW1 -> to EXT1 in RUNNING state? Does the sender channel specify EXT1 as its xmitq? Does the EXT1 qmgr object have trace-route enabled? _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
mq__quest |
Posted: Tue Jun 19, 2018 8:57 am Post subject: |
|
|
Apprentice
Joined: 21 Aug 2017 Posts: 49
|
bruce2359 wrote: |
So, the route msg arrives on GW1's EXT1 xmitq.
Is the sdr channel from GW1 -> to EXT1 in RUNNING state? Does the sender channel specify EXT1 as its xmitq? Does the EXT1 qmgr object have trace-route enabled? |
All the channels are defined and the msgs i put using amqsput do reach the local queue on VENDOR qmgr. I just don't understand why the dspmqrte doesn't show it. |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Jun 19, 2018 9:41 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
mq__quest wrote: |
bruce2359 wrote: |
So, the route msg arrives on GW1's EXT1 xmitq.
Is the sdr channel from GW1 -> to EXT1 in RUNNING state? Does the sender channel specify EXT1 as its xmitq? Does the EXT1 qmgr object have trace-route enabled? |
All the channels are defined and the msgs i put using amqsput do reach the local queue on VENDOR qmgr. I just don't understand why the dspmqrte doesn't show it. |
In order for dspmqrte to provide a complete routing picture, there needs to be sender-receiver channels AND queue-manager aliases back from intermediate and destination qmgrs to the originating qmgr. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
mq__quest |
Posted: Tue Jun 19, 2018 12:05 pm Post subject: |
|
|
Apprentice
Joined: 21 Aug 2017 Posts: 49
|
bruce2359 wrote: |
In order for dspmqrte to provide a complete routing picture, there needs to be sender-receiver channels AND queue-manager aliases back from intermediate and destination qmgrs to the originating qmgr. |
you're right. Thank you.
dspmqrte -q TO.VENDOR.QR -m QM1
AMQ8653I: DSPMQRTE command started with options '-q TO.VENDOR.QR -m QM1'.
AMQ8659I: DSPMQRTE command successfully put a message on queue 'SYSTEM.CLUSTER.TRANSMIT.QUEUE', queue manager 'QM1'.
AMQ8674I: DSPMQRTE command is now waiting for information to display.
AMQ8666I: Queue 'SYSTEM.CLUSTER.TRANSMIT.QUEUE' on queue manager 'QM1'.
AMQ8666I: Queue 'EXT2' on queue manager 'GW2'.
AMQ8666I: Queue 'VENDOR' on queue manager 'EXT2'.
AMQ8666I: Queue 'TO.VENDOR.QL' on queue manager 'VENDOR'.
AMQ8652I: DSPMQRTE command has finished. |
|
Back to top |
|
 |
|