Author |
Message
|
pkbab |
Posted: Mon Aug 10, 2009 3:01 am Post subject: multiple hops-message not reached to destination queue |
|
|
Novice
Joined: 08 Aug 2009 Posts: 16
|
hi,
am new to mq.
trying to implement multiplehop with 3QM and
1) i assigned xmitq in each QM except destination QM,moreover i defined RQM in QM1 stating RQ,RQM are destinations and xmitq which i defined in QM1.channel -> QM1 to QM2
2) In QM2,channel -> QM2 to QM3
assigned XMITQ FOR QM2 |
|
Back to top |
|
 |
Mr Butcher |
Posted: Mon Aug 10, 2009 3:50 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
please post your definitions in detail. but maybe you want to try to find the error yourself first.
if the message does not reach its destination, it is stuck somewhere (assuming it has not been discarded because of being non persistend and channels running with npmspeed fast) . Did you check all channels for status running? Did you check depth of all transmission queues? did you check the depth of the dead letter queues?
what sounds suspicios to me is
Quote: |
2) In QM2,channel -> QM2 to QM3
assigned XMITQ FOR QM2 |
i would assign xmitq for QM3 here.... _________________ Regards, Butcher |
|
Back to top |
|
 |
pkbab |
Posted: Mon Aug 10, 2009 4:17 am Post subject: trying to send message to QM3 with intermediate QM2 from QM1 |
|
|
Novice
Joined: 08 Aug 2009 Posts: 16
|
BY DECLARING EACH TRANSMISSION QUEUE IN EACH QUEUE MANGER EXCEPT IN DESTINATION QUEUEMANAGER
HOW CAN I IMPLEMET THIS? |
|
Back to top |
|
 |
exerk |
Posted: Mon Aug 10, 2009 4:30 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
QM1
QREMOTE
XMITQ (to QM2)
SDR
QM2
RCVR
XMITQ (to QM3)
SDR
QM3
RCVR
QLOCAL
Now work out what the QREMOTE (in QM1) attributes should be... _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
sumit |
Posted: Mon Aug 10, 2009 4:34 am Post subject: |
|
|
Partisan
Joined: 19 Jan 2006 Posts: 398
|
How have you done your setup? Your previous 2 posts don't explain much about the setup. Where exactly are you getting stucked? _________________ Regards
Sumit |
|
Back to top |
|
 |
Mr Butcher |
Posted: Mon Aug 10, 2009 4:37 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
not really what i asked for, but :
in QM1 you declare transmissionqueue to QM2
in QM2 you declare transmissionqueue to QM3
one way to name the transmissionqueue is to use the name of the queuemanager it sends to.
now, in the remotequeue definition on QM1 (queue ABC in my sample below) you define the target by using RNAME and RQMNAME. you do not know about QM3, but you know that QM2 does. so you send the mail to QM2 by using the XMITQ attribute
message now is send to QM2. Target is QM3. Now QM2 looks for something that is named like the target queuemanager (check naming resolution in the APG or APR manual). it finds the transmission queue name QM3 and places the message there. now it is send to QM3 and will be put to the target queue QLOCAL.ON.QM3
there are different ways to make this multi hopping work, by xmitq name, by remotequeues, be qmgr alias, by by by ...
sample definitions
on QM1:
define qremote(ABC) RNAME(QLOCAL.ON.QM3) RQMNAME(QM3) XMITQ(QM2)
define qlocal(QM2) usage(XMIT)
define channel(QM1.TO.QM2) CHLTYPE(SDR) XMITQ(QM2)
on QM2:
define channel(QM1.TO.QM2) chltype(RCVR)
define qlocal(QM3) usage(XMIT)
define channel(QM2.TO.QM3) chltype(SDR) XMITQ(QM3)
on QM3:
define channel(QM2.TO.QM3) chltype(RCVR)
define qlocal(QLOCAL.ON.QM3)
and i suggest you do some more reading and start with some simple samples, as you are missing some basics of the mq intercommunication. _________________ Regards, Butcher |
|
Back to top |
|
 |
pkbab |
Posted: Mon Aug 10, 2009 10:00 am Post subject: how MCA picks from XMITQ internally |
|
|
Novice
Joined: 08 Aug 2009 Posts: 16
|
HI
THANK U ALL
I DONE IT SUCCESSFULLY
Moreover i wnt to know 'HOW MCA(message channel agent) picks from transission queue ?
May i know whats the process going on internally? |
|
Back to top |
|
 |
PeterPotkay |
Posted: Mon Aug 10, 2009 11:26 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Its doing an MQGET against the transmit queue and shipping the message via TCP/IP (or whatever your channel's protocol is set to) over to the partner MCA on the other MQ Server. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Aug 10, 2009 1:13 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
The piece that is missing from this discussion follows - briefly:
When an application mqopens a qr definition, the qmgr adds a transmission queue header (XQH) to your message (MQMD and application data). All this ends up in the xmit queue.
The XQH used for message routing. RNAME attribute of the qr definition names the destination queue; RQMNAME attribute of the qr definition names the qmgr that owns the destination queue. The qmgr uses the RNAME() and RQMNAME(), and puts these into the XQH. The message is sent to the receiving MCA.
The receiving end MCA looks at the RQMName field XQH to determine if the message is destined for the qmgr it is connected to. If so, it tries to mqopen the destination queue and mqput the message to that queue.
If the rqmname field is not equal to this qmgr, then the RQMName is mqopened. Three possibilities (there are others; this is the short story):
1) the RQMName is a transmission queue. If this is the case, the MCA mqputs the message into the transmission queue.
2) if the RQMName is a queue-manager alias AND it resolves to another xmit queue, then the MCA mqopens this xmit queue and mqputs the message.
3) if the RQMName does not resolve, then the MCA tries to mqput the message into the dead-letter queue. _________________ 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 |
|
 |
pkbab |
Posted: Tue Aug 11, 2009 2:26 am Post subject: |
|
|
Novice
Joined: 08 Aug 2009 Posts: 16
|
Hi All,
Thanks for all yours replies and sorry for raising a wrong post in this thread. Actually in multiplehop concept, I need to know that how intermmediate queue managers mca is able to put message onto transmission queue. For that query, I got some valuable points from bruce2359 's response.
Thanks bruce for the valuable points given to me. |
|
Back to top |
|
 |
|