我想学习一种简单的方法,如果在SpringBoot应用程序中抛出异常,重新队列RabbitMQ。
@RabbitListener(queues = TRANSACTION_171_REQUEST_QUEUE, errorHandler="receiverExceptionHandler")
public void listen171RequestsQueue(Transaction171Request request) {
try {
Transaction171Response response = null;
send171Response("OK", request.getNumeroFormularioRenach());
} catch (Exception e){
//Requeue message
}
}
字符串
我的代码行为是消费一条消息,并将其从队列中取出,而不考虑它发生了什么。如果抛出异常,我想在RabbitMQ中重新排队消息。
你能帮帮我吗?
我正在使用Java 11的SpringBoot应用程序。
1条答案
按热度按时间qqrboqgw1#
RabbitMQ的默认行为是在出现未处理的异常时重新排队。在你的例子中,你可以删除try..catch块,或者在catch块中重新抛出异常。