|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Order of arrival messages |
« View previous topic :: View next topic » |
Author |
Message
|
richhall |
Posted: Thu Dec 07, 2006 8:14 am Post subject: Order of arrival messages |
|
|
Newbie
Joined: 07 Dec 2006 Posts: 3
|
Hi all,
Is there a way to guarantee the order of the arrvial messages?
Here is my scenario:
A producer puts messages M1, M2, ... M10 in that order to a cluster Q_in. There are two separate workflows receive and process the messages from Q_in. The result messages are put into Q_out. Because of the CPU speed on those two servers are not the same, the end result might be that the messages put onto Q_out are out of order, ie: M1, M3, M2, ... M10. I want to maintance the order of M1, M2, ... M10 in the Q_out. Is there a way to achieve this?
My solution is to use a database to short the arrival messages before put it out onto Q_out. But I would like to hear a better way to accomplish this.
Thanks in advance.
Rich |
|
Back to top |
|
 |
wschutz |
Posted: Thu Dec 07, 2006 8:18 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Logical message GROUPING? _________________ -wayne |
|
Back to top |
|
 |
Vitor |
Posted: Thu Dec 07, 2006 8:22 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
This is called message affinity and is a very bad idea, primarily for the reason you've just found.
You could looking into using MQGMO_LOGICAL_ORDER if you're only talking about messages in groups (i.e. M1-M10 need to be in order, then M11-M14, etc). If all messages need to be in order it won't work out I think.
I also am uncertain how a group would work across a cluster. Best bet - remove message affinity!  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Dec 07, 2006 8:40 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Message Affinity is bad.
Logical grouping only works in a cluster with BIND_ON_OPEN for the general case.
If there is only a single instance of Q_out, and the workflows can process each message Mx independantly of the others, then you can use logical grouping without using BIND_ON_OPEN.
But the workflows will have to ensure that a) they don't use logical grouping, and b) that they copy group attributes into the result messages. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
richhall |
Posted: Fri Dec 08, 2006 11:21 am Post subject: |
|
|
Newbie
Joined: 07 Dec 2006 Posts: 3
|
Thanks guys. Got enough info to start looking into. Thx. |
|
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
|
|
|
|