You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by spiderman2 <sh...@bridgewatersystems.com> on 2007/04/28 00:16:00 UTC

Dispatch Policy Question

I have a simple scenario and a question on behaviour.

SCENARIO:

1 Broker with 50 messages and 2 consumers (consumer.prefetchSize=0) of its
queue. (CLIENT_ACK mode)

The first consumer continuously pulls 1 message and closes & reopens session
(to simulate continuous failures). This correctly causes subsequent message
to be resent to the broker to be dispatched to another consumer.

The second consumer simply receives messages and acknowledges.

Messages 2-50 are appropriately by the second consumer. But the 1st message
continuously goes to the first consumer UNTIL messages 2-50 are consumed by
the 2nd consumer. Only then is Message 1 dispatched to the 2nd consumer.

QUESTION:
My problem is, if the Broker knows Consumer 1 is having problems, and
correctly sent ALL messages to consumer 2, why doens't it do this for
message 1 as well. If the queue never empties, message 1 will continuously
retry on consumer 1, rather than going to another consumer. How can I get it
to try another consumer during this simulated failurefor the 1st message.


PS: I could use a code snippet or example for round robbin dispatching. I
don't want to use xml to configure my broker.
-- 
View this message in context: http://www.nabble.com/Dispatch-Policy-Question-tf3660142s2354.html#a10227336
Sent from the ActiveMQ - User mailing list archive at Nabble.com.