It is possible to form a cycle of dead-letter queues. For instance, this can happen when a queue dead-letters messages to the default exchange without specifiying a dead-letter routing key. Messages in such cycles (i.e. messages that reach the same queue twice) will be dropped if the entire cycle is due to message expiry.
When TTL is elapsed, the message goes back to q.main.
Is it a good practice ? The immediate drawback is that you can define only one x-deadletter-exchange - meaning that multiple queues must define separate "retry exchanges". Also, the first config is more intuitive to understand, and each queue could define the same "retry exchange".
Also, the rule defined in rabbitmq docs specify "that the entire cycle must be due to message expiry". Is a basic_reject a form of message expiry?
What is the commonly accepted way to redeliver a message to its origin queue after a "retry ttl" ?
--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To post to this group, send email to rabbitm...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.