Как попросить RabbitMQ повторить попытку при возникновении бизнес-исключения в сценарии использования Spring Asynchronous MessageListener
У меня работает прослушиватель сообщений Spring AMQP.
public class ConsumerService implements MessageListener {
@Autowired
RabbitTemplate rabbitTemplate;
@Override
public void onMessage(Message message) {
try {
testService.process(message); //This process method can throw Business Exception
} catch (BusinessException e) {
//Here we can just log the exception. How the retry attempt is made?
} catch (Exception e) {
//Here we can just log the exception. How the retry attempt is made?
}
}
}
Как видите, во время процесса может возникнуть исключение. Я хочу повторить попытку из-за конкретной ошибки в блоке Catch. Я не могу через исключение в onMessage. Как сказать RabbitMQ, чтобы произошло исключение и повторить попытку?