--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-dis...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/masstransit-discuss/-/4zF51X9JUggJ.
For more options, visit https://groups.google.com/groups/opt_out.
Number 4 is incorrect, if the message fails (exception thrown from consumer), the message is Nack'd, and stays at the front of the queue as per RabbitMQ behavior on a nacked message.
On Mon, Dec 10, 2012 at 12:19 PM, Eric Swann <er...@ericswann.org> wrote:
Based on the code I've seen, it looks like the following is the Ack/Nack behavior of MassTransit when working with RabbitMQ. Could you guys correct any incorrect information here?
- Each consumer is newed up as a message is handled and run on its own thread from the pool.
- In the MT consumer object that wraps your message consumer, the message is dequeued and delivered to the message consumer.
- If the message is completed without error, an Ack is returned to Rabbit.
- If message consumption fails (meaning the consumer throws an exception), but is below the failure threshold, the message republished and acked to clear the previous message from the queue.
- If message consumption fails and is over failure the threshold, the message is acked (not nacked) and then moved to the error queue by MassTransit.
- If a message delivery error is encountered, basically the message is not successfully retrieved by MT, the message is nacked which will cause redelivery by Rabbit.
Does that sound basically correct? Is there anything important that I've missed here?
Thanks!Eric
--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-discuss+unsub...@googlegroups.com.