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/