Author |
Message
|
jefflowrey |
Posted: Tue Mar 06, 2007 7:05 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
HubertKleinmanns wrote: |
Reply messages are addressed to a queue manager - not to a queue. |
Actually, to a particular queue on a particular queue manager.
Otherwise, everything you say is right on. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
HubertKleinmanns |
Posted: Wed Mar 07, 2007 12:50 am Post subject: |
|
|
 Shaman
Joined: 24 Feb 2004 Posts: 732 Location: Germany
|
jefflowrey wrote: |
...Actually, to a particular queue on a particular queue manager... |
Of course, you are right:
1. Reach the QMgr.
2. When the target QMgr is reached, resolve the queue. _________________ Regards
Hubert |
|
Back to top |
|
 |
MQAltaf |
Posted: Wed Mar 07, 2007 3:49 am Post subject: |
|
|
 Centurion
Joined: 10 Feb 2005 Posts: 119
|
Hi,
I removed the CLUSTER element on queues named TESTX.REPLY. However, response messages are now ending up on the Gateways QM dead letter queue.
Reason=MQRC_CLUSTER_RESOLUTION_ERROR
Destination Queue=TESTX.REPLY
Destination Queue Manager=ANY_CLUSTER
Beacuse the queues TESTX.REPLY are not clustered the Gateway QM doesnt know about them, hence they end up on the dead letter queue. If the queues are clustered then response are round robined to TESTX.REPLY on both QMs QM1 and QM2 |
|
Back to top |
|
 |
MQAltaf |
Posted: Wed Mar 07, 2007 3:51 am Post subject: |
|
|
 Centurion
Joined: 10 Feb 2005 Posts: 119
|
Hi,
I removed the CLUSTER element on queues named TESTX.REPLY. However, response messages are now ending up on the Gateways QM dead letter queue.
Reason=MQRC_CLUSTER_RESOLUTION_ERROR
Destination Queue=TESTX.REPLY
Destination Queue Manager=ANY_CLUSTER
Beacuse the queues TESTX.REPLY are not clustered the Gateway QM doesnt know about them, hence they end up on the dead letter queue. If the queues are clustered then response are round robined to TESTX.REPLY on both QMs QM1 and QM2 |
|
Back to top |
|
 |
MQAltaf |
Posted: Wed Mar 07, 2007 3:55 am Post subject: |
|
|
 Centurion
Joined: 10 Feb 2005 Posts: 119
|
Hi,
I removed the CLUSTER element on queues named TESTX.REPLY. However, response messages are now ending up on the Gateways QM dead letter queue.
Reason=MQRC_CLUSTER_RESOLUTION_ERROR
Destination Queue=TESTX.REPLY
Destination Queue Manager=ANY_CLUSTER
Beacuse the queues TESTX.REPLY are not clustered the Gateway QM doesnt know about them, hence they end up on the dead letter queue. If the queues are clustered then response are round robined to TESTX.REPLY on both QMs QM1 and QM2 |
|
Back to top |
|
 |
Vitor |
Posted: Wed Mar 07, 2007 3:59 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
MQAltaf wrote: |
Destination Queue Manager=ANY_CLUSTER
|
I'm unclear why, if the message is a reply to a specific message instance, the destination queue manager is not being set to the queue manager that initiated the request.
Previous posters have made the point that replies are sent to a queue manager, and I believe ANY_CLUSTER is an alias if I've understood your setup correctly. Which I may not have. _________________ Honesty is the best policy.
Insanity is the best defence.
Last edited by Vitor on Wed Mar 07, 2007 4:04 am; edited 1 time in total |
|
Back to top |
|
 |
MQAltaf |
Posted: Wed Mar 07, 2007 4:03 am Post subject: |
|
|
 Centurion
Joined: 10 Feb 2005 Posts: 119
|
Hi Jeff,
We were going down the overlapping clustering technique in order to stop a client application connecting directly to a backend. We didnt want point to point connections and thought by using overlapping clusters this would be achieved. The other alternative we were proposing is bot to use overlapping clusters but have a Gateway QM in each cluster which uses statndard sender/receiver pairs to each Gateway QM.
The problem we are seeing is that response messages are not always going back to the correct queue manager that initiated the request. This is the case for both the overlapping approach as well as the Gateway QM approach
Any help/guidence would be appreciated |
|
Back to top |
|
 |
MQAltaf |
Posted: Wed Mar 07, 2007 4:04 am Post subject: |
|
|
 Centurion
Joined: 10 Feb 2005 Posts: 119
|
Hi Jeff,
We were going down the overlapping clustering technique in order to stop a client applications connecting directly to backends. We dont want point to point connections and thought by using overlapping clusters this would be achieved. The other alternative we were proposing is to use overlapping clusters but have a Gateway QM in each cluster which uses statndard sender/receiver pairs to each Gateway QM.
The problem we are seeing is that response messages are not always going back to the correct queue manager that initiated the request. This is the case for both the overlapping approach as well as the Gateway QM approach
Any help/guidence would be appreciated |
|
Back to top |
|
 |
Vitor |
Posted: Wed Mar 07, 2007 4:09 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Granted you're trying to stop a client connecting directly to a backend, and you're using clustering to distribute the requests. That's fine and perfectly reasonable.
But the replies can't be distributed in this way can they? They must go to a specific queue manager and then to the client that initiated them. This would seem to preclude the use of an alias queue. What I don't see is why you'd consider point to point sender/receivers when you already have a cluster in play? Why not let the replies traverse the cluster to the correct target queue manager?
What have I missed about your set up?  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Mar 07, 2007 4:26 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
MQ Clustering has nothing to do with where an application can connect to. You could achieve the same separation you're talking about using basic MQ networking.
You gain nothing from the app perspective by using clusters, and even less than that by overlapping the clusters.
Your reply problem is strictly a code problem with the requesting application or the replying application - either the requester is not setting the ReplyToQMgr, or the replier is not using it.
Do not overlap clusters without a very good reason - and you don't seem to have one. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
MQAltaf |
Posted: Fri Mar 16, 2007 3:42 am Post subject: |
|
|
 Centurion
Joined: 10 Feb 2005 Posts: 119
|
Hi,
Thanks for the all those who responded.
The problem where by response messages werent being returned to the correct queue manager has now been resolved. I had to create clustered alias queues on the gateway queue managers and not use the ANY_CLUSTER queue.
Jeff - How would you distribute messages to 2 queue managers running hot/hot if the application didnt have the ability? Also, how can a client application which uses MQ server be stopped from connecting directly to a backend service which is also used by many other clients. We dont want all these clients connecting directly to the backend service but wanted to take a gateway approach.[/quote] |
|
Back to top |
|
 |
MQAltaf |
Posted: Fri Mar 16, 2007 3:44 am Post subject: |
|
|
 Centurion
Joined: 10 Feb 2005 Posts: 119
|
slight amendment...
Quote: |
The problem where by response messages werent being returned to the correct queue manager has now been resolved. I had to create clustered alias queues on the gateway queue managers and not use the ANY_CLUSTER queue. |
I had to create QMGR Aliases on the gateway QMs and not use the Queue Manager Alias named ANY_CLUSTER |
|
Back to top |
|
 |
HubertKleinmanns |
Posted: Fri Mar 16, 2007 5:05 am Post subject: |
|
|
 Shaman
Joined: 24 Feb 2004 Posts: 732 Location: Germany
|
MQAltaf wrote: |
slight amendment...
Quote: |
The problem where by response messages werent being returned to the correct queue manager has now been resolved. I had to create clustered alias queues on the gateway queue managers and not use the ANY_CLUSTER queue. |
I had to create QMGR Aliases on the gateway QMs and not use the Queue Manager Alias named ANY_CLUSTER |
Read my posts before, that was what I told! If your applications make REALLY Replys, they would address target QMgrs named QM1 and QM2 - THOSE must be defined as QMgr-Aliases on the gateways. _________________ Regards
Hubert |
|
Back to top |
|
 |
|