Spring AMQP 异常处理基础知识

标签 spring amqp spring-amqp

我有一个 Listener 类(实现 Spring 的 MessageListener 接口(interface)),如果发生异常,我不需要重新排队任何消息,但我想将消息发布到不同的队列。

似乎我需要监听器来捕获AmqpRejectAndDontRequeueException,但我读到我需要它来抛出异常。如果我这样做,我将无法重新发布该消息。

我应该捕获一个简单的异常并在那里重新发布吗?此时是否需要实际抛出 AmqpRejectAndDontRequeueException

我想知道这方面的最佳实践。谢谢。

最佳答案

有多种方法可以实现这一目标。

最简单的是,您只需捕获客户端的所有异常并抛出 AmqpRejectAndDontRequeueException

否则,看看FatalExceptionStrategy,你需要有自己的策略并让它始终返回true

关于Spring AMQP 异常处理基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28245473/

相关文章:

azure - 如何使用 JMS 将计划消息发送到 Azure 服务总线

amazon-web-services - 使用 golang 连接到 Active MQ

java - RabbitMQ 主题交换消息排序

java - Spring AMQP RabbitMQ 实现优先级队列

java - 将嵌入式 HSQL 数据库保存到文件

java - 多个带有配置文件的 Spring Boot 应用程序类

java - Spring MVC 显示数据库中的数据

java - Spring 应用程序无法使用 ActiveJDBC 检测类启动

process - AMQP 延迟传递和防止重复消息

当连接被阻塞时,spring-amqp 无法正常工作