Do you have any transaction in application? According my experience, the 
messages should be rolled back to the queue once consumer down in incident.




At 2011-12-06 03:48:17,romanhawk <[email protected]> wrote:
>Dear colleagues,
>
>I have the following scenario to implement and looking for best ways to
>accomplish it:
>
>1. I have embedded broker on the server
>2. There are several consumers running behind firewalls/NAT connected to
>that server
>3. Messages are produced by the server and put into the embedded broker to
>be consumed by remote consumers
>4. Communication is based on Queues so only one consumer should receive and
>handle the message
>
>There are messages, which can be processed by any consumer (some kind of
>clustering). If some consumer is gracefully turned off, messages are sent to
>remained consumers without any issue. But what if cable is simply unplugged
>and consumer is not reachable anymore. Still, as far as I understand, broker
>put the messages to be consumed by that "dead" consumer so eventually they
>would not be processed and end up in DLQ. Of course, after timeout, consumer
>will become disconnected as ActiveMQ will be aware of broken transport, but
>remaining messages would not be delivered to other consumers.
>
>What is the best approach to deal with such situation (messages put to
>"dead" consumer to be handled by another consumer). Message redelivery?
>Probably there is some simpler approach and I'm simply missing some XML
>configuration for such stuff. Though, as my broker is embedded, I can create
>any "hooks" to provide necessary functionality if necessary. 
>
>--
>View this message in context: 
>http://activemq.2283324.n4.nabble.com/Proper-handling-of-disconnected-consumers-best-approach-tp4161875p4161875.html
>Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to