smallrye / smallrye-reactive-messaging

SmallRye Reactive Messaging
http://www.smallrye.io/smallrye-reactive-messaging/
Apache License 2.0
227 stars 174 forks source link

Rabbitmq: Concept of error queues after n retries #2641

Open jonsalvas opened 3 weeks ago

jonsalvas commented 3 weeks ago

We use the existing failure management mechanism (described here https://smallrye.io/smallrye-reactive-messaging/4.20.0/rabbitmq/receiving-messages-from-rabbitmq/#failure-management) in order to allow retries of failed messages by putting it to a dead letter queue with a ttl. We are however don't want to retry forever and put messages to an error queue after n retries.

For that IMO it would be essential to be able to create this error queue from the application (as error handling is part of the application) but currently I see no way to create this error queue from the app, as the outgoing channel does only allow creating exchanges but not queues. Any ideas how we can achieve that?

ozangunalp commented 1 week ago

I remember that there is a test requeueing messages. You can check: https://github.com/smallrye/smallrye-reactive-messaging/blob/a7315c0ac2dffbce7a185020ddb70cb960862e0a/smallrye-reactive-messaging-rabbitmq/src/test/java/io/smallrye/reactive/messaging/rabbitmq/RabbitMQTest.java#L684