Search code examples
rabbitmqspring-cloud-streamspring-amqpspring-rabbit

RabbitMQ Atleast Once Delivery Configure Time Interval


I have read that If a consumer takes a message and does not acknowledge that it has been successfully processed within a given time window, then another consumer is given the same message to guarantee "at-least-once" delivery and I have seen this happening in our production as well.

But I would like to know is there any flag through which we can configure the time interval and only when that time period crosses re-attempt the delivery to an another consumer.

I did a lot of search but couldn't find any such flag, so if anyone who has used this property earlier, please do let me know about it.

Thanks


Solution

  • then another consumer is given the same message to guarantee "at-least-once" delivery

    That is not true; the message remains in an un-ack'd state until the consumer acks or nacks it, or the connection to that consumer is lost; at which time the message becomes availabe to be sent to another consumer.