如何在 SpringBoot 代码异常的情况下简单地重新排队 RabbitMQ 消息

How to simply requeue a RabbitMQ message in case of code exception with SpringBoot

我想学习一种在 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 应用程序中工作

RabbitMQ 的默认行为是在出现未处理的异常时重新排队。在您的情况下,您可以删除 try..catch 块或在 catch 块中仅 re-throw 异常。