Author |
Message
|
bcostacurta |
Posted: Tue Oct 25, 2011 6:18 am Post subject: MQ Client and Alias QMgr |
|
|
Acolyte
Joined: 10 Dec 2009 Posts: 71 Location: Luxembourg
|
Hello,
from a MQ Client, how to post to another MQSeries server via a Frontal ?
So using Frontal as a router to an Alias QMgr.
Between MQSeries servers, my client defines their QRemote using RQMNAME="ALIAS.MQGR".
Where the ALIAS.QMGR is defined on my Frontal MQSeries to point to another MQSeries server
(via a QREmote "ALIAS.QMGR" with definition using RQMNAME and XMIT but no RNAME)
But obviously the MQ Client do not define Queues.
So how to put a message to my Frontal but directed to another MQSeries server ?
Thanks for attention.
Bruno |
|
Back to top |
|
 |
exerk |
Posted: Tue Oct 25, 2011 6:28 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
Forgive my ignorance, but what is a Frontal? _________________ 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 |
|
 |
bcostacurta |
Posted: Tue Oct 25, 2011 6:37 am Post subject: |
|
|
Acolyte
Joined: 10 Dec 2009 Posts: 71 Location: Luxembourg
|
A MQSeries Frontal is in fact a MQSeries Router which routes the message to others MQSeries using Alias QMgr.
So my external clients only knows the Frontal which via Alias Qmgr routes the message to the others MQSeries server.
Alias QMgrs are defined via QRemote using params RQMNAME and XMITQ but no RNAME.
I suppose product MQ-IPT by IBM can do the same.
Bruno |
|
Back to top |
|
 |
exerk |
Posted: Tue Oct 25, 2011 6:54 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
Is this a 'normal' queue manager being used as a gateway, because you make it sound like it's a product? In regard to your earlier question, do you not have XMITQs from the 'Frontal' queue manager to the other queue managers? _________________ 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 |
|
 |
fjb_saper |
Posted: Tue Oct 25, 2011 6:55 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Have you looked at the MQMD when creating your message?
What does the content the destination QMGR field look like?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
bcostacurta |
Posted: Tue Oct 25, 2011 7:25 am Post subject: |
|
|
Acolyte
Joined: 10 Dec 2009 Posts: 71 Location: Luxembourg
|
Yes it's a normal MQSeries server which I call Frontal. |
|
Back to top |
|
 |
bcostacurta |
Posted: Tue Oct 25, 2011 7:32 am Post subject: |
|
|
Acolyte
Joined: 10 Dec 2009 Posts: 71 Location: Luxembourg
|
Looks it's resolved.
As fjb_saper mentioned the MQMD,
yes obviously my client needs to fill correctly the field 'ReplyToQueueManager' in the MQMD when contacting the MQSeries frontal.
This field should contains the name of the Alias Qmgr, which will be resolved via QRemote and related Xmitq.
Bye,
Bruno |
|
Back to top |
|
 |
bcostacurta |
Posted: Wed Oct 26, 2011 1:06 am Post subject: |
|
|
Acolyte
Joined: 10 Dec 2009 Posts: 71 Location: Luxembourg
|
No, it's not resolved.
@ Exerk : no there is no XMITQ at the MQSeries frontal. Indeed it's a final delivery into a QLocal on the frontal.
The file MQMD 'ReplyToQueueManager' is reserved for the Reporting return, so nothing related with the RQMname of the QRemote.
It seems that MQ Client cannot use the QRemote facilities to provide routing by an MQSeries frontal to an MQSeries backend.
Anyone with other idea ?
Thanks for attention.
Bye,
Bruno |
|
Back to top |
|
 |
exerk |
Posted: Wed Oct 26, 2011 1:27 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
bcostacurta wrote: |
@ Exerk : no there is no XMITQ at the MQSeries frontal. Indeed it's a final delivery into a QLocal on the frontal. |
So, if no XMITQs just how is the client application supposed to reply? Is it expected to connect to the originating queue manager? And your statement is at odds with your original post: So using Frontal as a router to an Alias QMgr.
bcostacurta wrote: |
It seems that MQ Client cannot use the QRemote facilities to provide routing by an MQSeries frontal to an MQSeries backend. |
It doesn't need a QR, all it needs is an XMITQ of the same name as the ReplyTo queue manager. _________________ 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 |
|
 |
bcostacurta |
Posted: Wed Oct 26, 2011 1:38 am Post subject: |
|
|
Acolyte
Joined: 10 Dec 2009 Posts: 71 Location: Luxembourg
|
@ Exerk : The client application (meaning the one receiving the message) reply using fields ReplyToQueue and ReplyToQueueManager present in the MQMD, not using any XMITQ header infos.
As a reminder of the problem in this thread :
The MQClient only put to an object name on a MQSeries server, how to add info for Alias Qmgr ?
The Qlocal is the final destination on the backend,
the AliasQmgr is the routing information for the frontal to reach the backend.
Note : MQServer to MQServer (here frontal) can bind both infos via its QRemote definition, not the MQClient because it does not have QRemote, correct ?
Bye,
Bruno |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Oct 26, 2011 4:38 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
I've read this a few times, and I still don't understand it. _________________ 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 |
|
 |
Vitor |
Posted: Wed Oct 26, 2011 4:54 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bruce2359 wrote: |
I've read this a few times, and I still don't understand it. |
 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Oct 26, 2011 4:58 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Given that I don't believe I fully, partially (or possibly at all) understand what's going on, it sounds like you've developed this "frontal" as a routing mechanism, but have discovered that it can't handle all the scenarios in your topology.
The term I've heard applied to this situation is "doesn't work".
Perhaps if you went into a little detail on what you're trying to achieve with this mechanism, and why the more standard routing patterns don't meet your needs? As a minimum it could add clarity to your issue. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Oct 26, 2011 5:01 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
The first thing to remember is that message routing IS NOT AFFECTED by the source of the message. If a message is being PUT from a client channel agent or from a normal channel agent or from a cluster channel agent, name resolution and destination handling works the same way.
So do not think you need to make a different configuration in one case or the other. |
|
Back to top |
|
 |
bcostacurta |
Posted: Wed Oct 26, 2011 6:17 am Post subject: |
|
|
Acolyte
Joined: 10 Dec 2009 Posts: 71 Location: Luxembourg
|
Hello,
I understand my request is somewhere confused.
Sorry.
I'll try to make it clear via basic schema hereafter.
### schema 1 ###
MQ 'external' MQ 'frontal' MQ backend'
QRemote definition: --> Alias Qmgr = QRemote Alias-01: -> QLocal-xxx
RNAME = QLocal-xxx RNAME = Qlocal
RQMANME = Alias-01 RQMNAME = backend
QRemote definition: -->
RNAME = QLocal-other - same Alias Qmgr - -> QLocal-other
RQMANME = Alias-01
This schema 1 works very fine.
So the Alias Qmgr is *one* route to serve *many* messages destinations Qlocal (so from external to backend via frontal).
I insist : *one* route to server *many* message destinations.
This works fine because the RQMNAME in 'external' is resolved via Alias Qmgtr on the 'frontal'
### schema 2 ###
MQ Client 'external' MQ 'frontal' MQ 'backend'
Queue-A --> Queue-A = QLocal/QRemote (not Alias Qmgr) --> Queue-A
Queue-B --> Queue-B = QLocal/QRemote (not Alias Qmgr) --> Queue-B
So the questions are :
Now my question is : how to do the same from a MQ client 'external' ?
Obviously the MQ client cannot used QRemote definition on his side.
Indeed the MQ client can only does a put to a QLocal or normal QRemote (mean not Alias Qmgr) on the 'frontal', correct ?
To put from Client 'external' to an Alias Qmgr on 'frontal' will not help : Alias Qmgr do not contain the RName for the 'backend(
Note : If I need to define all routes on the 'frontal' this is not a router, but a simple *one* QRemote 'frontal' to *one* QLocal 'backend'.
I hope my request is clear.
Thanks for attention.
Bruno |
|
Back to top |
|
 |
|