|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Put message to a specific cluster |
« View previous topic :: View next topic » |
Author |
Message
|
KIT_INC |
Posted: Fri Aug 07, 2009 11:08 am Post subject: Put message to a specific cluster |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
We have a program running on QM1. QM1 is a member of MQ CLSUTER (MQCLU_A). The program is putting message to a queue called ORDER. ORDER is a cluster local Q on QM3, QM4, QM5 which are members of MQCLU_A.So messages from QM1 are round robinned to QM3 QM4 and QM5. There is no remote defintion on QM1 for ORDER.
Everything has been working fine until the application reported missing messages.
The problem was found out to be caused by QM1 joined another Cluster (MQCLU_B) and QM13 which is a member of MQCLU_B happen to have a clsuter Q also called ORDER. The missing messages were re-directed to ORDER on QM13.
Is this something that the application has to do for the message to only go to ORDER in MQCLU_A? This application can only be run on QM1. |
|
Back to top |
|
 |
Vitor |
Posted: Fri Aug 07, 2009 11:31 am Post subject: Re: Put message to a specific cluster |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
KIT_INC wrote: |
Is this something that the application has to do for the message to only go to ORDER in MQCLU_A? This application can only be run on QM1. |
Applications can never control the destination of a cluster message; the only slight exception is if the application does a BIND_ON_OPEN. Even then, you can't control which of the cluster targets the binding occurs to.
I see 2 major options (there may be others):
Abandon cluster workload balancing and have the distribution done by the application to the "valid" queue managers;
Fix your cluster set up so the messages are delivered correctly. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Vitor |
Posted: Fri Aug 07, 2009 11:38 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Alright, the 3rd option is to do a custom cluster workload exit. Sledgehammer to crack a nut but it is an option. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bruce2359 |
Posted: Fri Aug 07, 2009 1:02 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
The problem was found out to be ... another Cluster (MQCLU_B) and QM13 ... a clsuter Q also called ORDER. |
The problem, as you pointed out, is the same named queue ORDER.
For queues that have affinity (in this case, to a specific cluster), rename ORDER to be more specific to its cluster, like MCLU_B.ORDER. Then create the appropriate definitions on the qmgrs where the application that creates the message(s) are executed. _________________ 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 |
|
 |
gbaddeley |
Posted: Sun Aug 09, 2009 3:27 pm Post subject: Re: Put message to a specific cluster |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
Vitor wrote: |
KIT_INC wrote: |
Is this something that the application has to do for the message to only go to ORDER in MQCLU_A? This application can only be run on QM1. |
Applications can never control the destination of a cluster message; the only slight exception is if the application does a BIND_ON_OPEN. Even then, you can't control which of the cluster targets the binding occurs to.
I see 2 major options (there may be others):
Abandon cluster workload balancing and have the distribution done by the application to the "valid" queue managers;
Fix your cluster set up so the messages are delivered correctly. |
Your first major option is really a band-aid coding solution to a queue naming and scope problem. It abandons one of the great benefits of using MQ Clusters and creates tighter coupling between asynchronous applications.
So that leaves option 2 as the only recommended choice. _________________ Glenn |
|
Back to top |
|
 |
PeterPotkay |
Posted: Sun Aug 09, 2009 4:48 pm Post subject: Re: Put message to a specific cluster |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Haven't tried this, don't know if it will work, but I think it will.
Create a QM Alias (blank for remote q, remote QM and transmit q) called MQCLU_A_ALIAS on QM3, QM4, QM5. Add that QM Alias to the MQCLU_A cluster.
Change the putting app's MQOPEN to specify the queue name (ORDER) AND the destination QM name (MQCLU_A_ALIAS). The messages should only go to QM3, 4 or 5. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|