Author |
Message
|
bay hoe san |
Posted: Mon May 14, 2007 11:45 pm Post subject: ReplyToQ in Distributed Queuing |
|
|
Centurion
Joined: 27 Nov 2006 Posts: 117
|
Hello,
( 1) I have a query from appls folks on how to use the field ReplyToQ in MQMD.
( 2) Say, appl A send message from QM-A to QM-B which will trigger appl B. Appl A wana to get the reply from appl B in qlocal Queue-Name-A-LOCAL.
( 3) So it is correct that in appl A, the field ReplyToQ is Queue-Name-A-LOCAL? If so, a Remote Queue def is needed in QM-B with Remote queue name = Queu-Name-A-LOCAL, remote qmgr=QM-A. Am I right?
( 4) How is reply-to queue alias different from above?
( 5) FYI, I have read documentation on cluster qmgr, appl pgm guide & ref and mq intercommunication but getting confused.
Pls advise.
Thank you and have a nice day.
.Hoe San. |
|
Back to top |
|
 |
Vitor |
Posted: Mon May 14, 2007 11:54 pm Post subject: Re: ReplyToQ in Distributed Queuing |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bay hoe san wrote: |
( 3) So it is correct that in appl A, the field ReplyToQ is Queue-Name-A-LOCAL? |
No. You need to set ReplyToQ and ReplyToQmgr
bay hoe san wrote: |
If so, a Remote Queue def is needed in QM-B with Remote queue name = Queu-Name-A-LOCAL, remote qmgr=QM-A. Am I right? |
No. As you've posted this in a clustering forum,
bay hoe san wrote: |
( 4) How is reply-to queue alias different from above?
|
Because it's an alias for the reply-to queue.
bay hoe san wrote: |
( 5) FYI, I have read documentation on cluster qmgr, appl pgm guide & ref and mq intercommunication but getting confused. |
I'd recommend touching your employers for an MQAdmin training course for you, and an MQ Application Programming course for your appls folks.
We're not a training resource, more a question & problem resolution forum. Granted you're previously described yourself as "inexperienced" and we all were at some point, but building your knowledge piecemeal through MQSeries.net like this is going to be a long, slow grind. Get your management to put their hands in their pockets - it's an investment for you both.  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bay hoe san |
Posted: Tue May 15, 2007 12:06 am Post subject: |
|
|
Centurion
Joined: 27 Nov 2006 Posts: 117
|
Hello,
( 1) Thanks for your advice. Greatly appreciate to all that have helped me one way or another. Training requests have been put up and pending approvals.
( 2) May I know what's the value for the field ReplyToQ and ReplyToQmgr in appl A. Pls advise.
Once again, thank you.
.Hoe San. |
|
Back to top |
|
 |
Vitor |
Posted: Tue May 15, 2007 12:12 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bay hoe san wrote: |
( 2) May I know what's the value for the field ReplyToQ and ReplyToQmgr in appl A. |
The values where appl A expects the reply to be delivered. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
marcin.kasinski |
Posted: Tue May 15, 2007 12:15 am Post subject: Re: ReplyToQ in Distributed Queuing |
|
|
Sentinel
Joined: 21 Dec 2004 Posts: 850 Location: Poland / Warsaw
|
Vitor wrote: |
bay hoe san wrote: |
( 3) So it is correct that in appl A, the field ReplyToQ is Queue-Name-A-LOCAL? |
No. You need to set ReplyToQ and ReplyToQmgr
|
Hi Votor.
Are you sure ?
I think you don't have to set ReplyToQmgr.
This attribute is set automatically by API. _________________ Marcin |
|
Back to top |
|
 |
jsware |
Posted: Tue May 15, 2007 12:17 am Post subject: |
|
|
 Chevalier
Joined: 17 May 2001 Posts: 455
|
bay hoe san wrote: |
May I know what's the value for the field ReplyToQ and ReplyToQmgr in appl A. Pls advise. |
When your sending application does an MQPUT, ensure that the MQMD.ReplyToQ is set to the reply to queue and that the MQMD.ReplyToQMgr is left blank, or set to the local QMgr name.
You receiving application does an MQGET of the message and processes it. When it is ready to send the reply, make sure that you set the MQOD.ObjectName and ObjectQMgrName are set to the values passed in the MQMD (the MQMD.ReplyToQMgr will be set to the name of the connected-to queue manager by the MQPUT if it was left blank). You should also follow the guidelines laid down in the MQMD.ReportOptions field (basically copy the requestMQMD.MsgId to the responseMQMD.CorrelID unless indicated otherwise - see the pgmrs reference).
Then when you do your MQOPEN (or MQPUT1) to send the reply, it effectively says "open(put) your message to A.LOCAL @ QM.A". The queue manager will, if correctly configured, know that it is not QM.A itself, but it knows how to deliver messages to QM.A. It will then "do the right thing" and put the message on a transmission queue of some sort. _________________ Regards
John
The pain of low quaility far outlasts the joy of low price. |
|
Back to top |
|
 |
Vitor |
Posted: Tue May 15, 2007 12:21 am Post subject: Re: ReplyToQ in Distributed Queuing |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
marcin.kasinski wrote: |
Vitor wrote: |
bay hoe san wrote: |
( 3) So it is correct that in appl A, the field ReplyToQ is Queue-Name-A-LOCAL? |
No. You need to set ReplyToQ and ReplyToQmgr
|
Hi Votor.
Are you sure ?
I think you don't have to set ReplyToQmgr.
This attribute is set automatically by API. |
Even in a clustered environment? Where you want a specific instance of the sending application to receive the reply?
(I'm assuming a cluster, as this is posted in the Clustering section) _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
zpat |
Posted: Tue May 15, 2007 12:25 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Read the MQSeries primer. |
|
Back to top |
|
 |
Vitor |
Posted: Tue May 15, 2007 12:28 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
zpat wrote: |
Read the MQSeries primer. |
I have. I think I may have skipped over this specific part....  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
marcin.kasinski |
Posted: Tue May 15, 2007 12:39 am Post subject: Re: ReplyToQ in Distributed Queuing |
|
|
Sentinel
Joined: 21 Dec 2004 Posts: 850 Location: Poland / Warsaw
|
Vitor wrote: |
Even in a clustered environment? Where you want a specific instance of the sending application to receive the reply?
(I'm assuming a cluster, as this is posted in the Clustering section) |
Hm.
I don't know.
I don't know something or this is not my day.
In simple cluster environment also when I leave ReplyToQMgr blank it will be replaced by local QMGR name.
In this situation sending application expected to see reply message in local QMRG and queue described in ReplyToQ field.
Did I miss something ?
Can you explain it ? _________________ Marcin |
|
Back to top |
|
 |
Vitor |
Posted: Tue May 15, 2007 12:41 am Post subject: Re: ReplyToQ in Distributed Queuing |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
marcin.kasinski wrote: |
Did I miss something ?
|
I wouldn't immediately come to that conclusion....
I feel a test cluster coming on. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
marcin.kasinski |
Posted: Tue May 15, 2007 12:50 am Post subject: Re: ReplyToQ in Distributed Queuing |
|
|
Sentinel
Joined: 21 Dec 2004 Posts: 850 Location: Poland / Warsaw
|
Vitor wrote: |
marcin.kasinski wrote: |
Did I miss something ?
|
I wouldn't immediately come to that conclusion....
I feel a test cluster coming on. |
I forgot to add that I was talking about cluster where every cluster queue has only one instance. _________________ Marcin |
|
Back to top |
|
 |
Vitor |
Posted: Tue May 15, 2007 12:53 am Post subject: Re: ReplyToQ in Distributed Queuing |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
marcin.kasinski wrote: |
Vitor wrote: |
marcin.kasinski wrote: |
Did I miss something ?
|
I wouldn't immediately come to that conclusion....
I feel a test cluster coming on. |
I forgot to add that I was talking about cluster where every cluster queue has only one instance. |
Ah...
I'll include that in my testing _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue May 15, 2007 2:05 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
In order to be able to address a message with ReplyToQ and ReplyToQmgr, there must be a transmit queue named after the ReplyToQmgr on the connected qmgr, or the ReplyToQmgr name must be otherwise resolvable in the mq network (for example by a cluster). In addition, the putter must have put access to the object that resolves the name (perhaps the xmitq, perhaps a qremote, perhaps a clustered qalias).
It is never the proper thing to do to address a reply message without using the ReplyToQmgr (and replytoqueue). PARTICULARLY in a cluster. This is the only way to ensure that the reply message gets to the actual replier.
Just because, at the current moment, there happens to be a unique instance of the ReplyToQueue doesn't mean that one should code as if that will always be true. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|