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

Ok, if that's the case I seem to have completely missed the point of Message
Grouping.    It states that the following semantics are applied according to
the description in the "Impliations" section here
http://activemq.apache.org/message-groups.html.

# partioning the traffic
# load balancing of message groups across consumers


Doesn't this mean that I can have multiple instances of my MDBs, each in its
own thread, consuming a message off of the queue?

Yes


In other words, won't
Active MQ give the next message to whatever consumer requests a message?

It load balances messages across all available consumers on a queue concurrently


So, can't I have message 1 read from the queue, and while that transaction
is processing, another node reads and begins processing message 2 BEFORE the
transaction commits for the message 1 read?  Otherwise, it becomes a
sequential consumer, which I don't want.

We totally support concurrent processing. The whole point of Message
Groups is that it makes the processing of a single message group
(JMSXGroupID) sequential in a single thread to avoid concurrency
problems - but messages are processed concurrently for different
message groups (values of JMSXGroupID).

If you don't want any kind of sequential processing guarrentees, just
don't use message groups; then messages will be processed in parallel
across different consumers in a kinda random order (due to the usual
multithreading issues)

--

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

Reply via email to