0

‌I understand that every messaging platform (rabbitmq, activemq) provides some mechanism that guarantees message delivery between the server (rabbitmq) and the consumers, so if a consumer is down, the message will still be in a queue and redelivered. But what happens in case the messaging platform is down and the client (producer of the message) could not deliver the message to the platform (Rabbitmq)? In that case, a retry method to redeliver the message is needed, but I'm not sure if I have to implement it myself, or clients libraries have this option , is it declared as a parameter in the connection/channel creation? is it platform specific? Also, protocols like AMQP specifies this? I heard also from Spring Retry as a option.

mingo
  • 33
  • 2

1 Answers1

0

A spring-retry RetryTemplate can be wired directly into Spring AMQP's RabbitTemplate.

Kafka has retry capability built into the Producer (see the retries property).

For JMS, you can wrap the JmsTemplate into a RetryTemplate.execute() method.

The retry policy, back-off etc is all configurable.

Gary Russell
  • 166,535
  • 14
  • 146
  • 179