+1 This approach is a derivative of the single purpose queue anti-pattern see
http://books.google.com.au/books?id=1G3Pa_LoIGQC&pg=PA236&lpg=PA236&dq=single+purpose+queue&source=bl&ots=O57wy-t5MZ&sig=ADfUPDpAUywSVNnrnanjnkus13g&hl=en&sa=X&ei=nNDFU6DYIcvn8AWPgoKYBw&ved=0CB4Q6AEwAA#v=onepage&q=single%20purpose%20queue&f=false Consider using topics with selectors or camel with content based routing to improve it. On Wed, Jul 16, 2014 at 2:45 AM, artnaseef <a...@artnaseef.com> wrote: > If I understand correctly, the code is doing the following: > > * Competing consumers read from the same queue > * One of several consumers will be able to process a message while the other > two will not > * When the process can handle the message, it does so and acknowledges it > * When the process cannot handle the message, it rejects (I don't see > rejection in the code), so the message can be handled by another process > > Is this correct? If so, I recommend an architectural review. This model of > processing will lead to many problems with ActiveMQ. > > For example, ActiveMQ never guarantees which consumer will receive a > message. So, the same message could be redelivered to a single consumer > multiple times and never to any other consumer. In addition, ActiveMQ has > settings for redelivery; if a message fails to process too many times, it > will be discarded (either sent to a DLQ or just dropped). > > Let me know if I've misunderstood. > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Lost-messages-Abnormal-Behaviour-of-activeMQ-tp4683240p4683287.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com.