On 4/12/07, tnine <[EMAIL PROTECTED]> wrote:

Let me give a clearer example.  Lets say I have 4 "real" messages, that
contain data.  I have a 5th message that contains no data but closes the
group on the input queue.  I need to replicate the order of items from the
input queue to the order on the output queue because the consumer of the
output queue needs to know when the group is finished in order to flush the
output file to the system.  Here is the scenario I was describing explained
a bit clearer, (I hope since I included a bit of source)

Step 1: messages 1 through 3 are processed normally and put on the output
queue.
Step 2: message 4 begins processing, then message 5, the "close group"
message gets processed simultaneously.  Message 5 will most likely be
inserted on the output queue before message 4 since there will be no
processing of the closing message.


So here's the cool thing about Message Groups. The contract is 1
thread in the entire cluster of processes & threads gets the messages
for a single message group. So you will always process message 4
first, then message 5. So there will be no out-of-order issues. Cool
eh? :)

--

James
-------
http://radio.weblogs.com/0112098/

Reply via email to