我有一个 Listener 类(实现 Spring 的 MessageListener
接口(interface)),如果发生异常,我不需要重新排队任何消息,但我想将消息发布到不同的队列。
似乎我需要监听器来捕获AmqpRejectAndDontRequeueException
,但我读到我需要它来抛出异常。如果我这样做,我将无法重新发布该消息。
我应该捕获一个简单的异常并在那里重新发布吗?此时是否需要实际抛出 AmqpRejectAndDontRequeueException
?
我想知道这方面的最佳实践。谢谢。
最佳答案
有多种方法可以实现这一目标。
最简单的是,您只需捕获客户端的所有异常并抛出 AmqpRejectAndDontRequeueException
。
否则,看看FatalExceptionStrategy
,你需要有自己的策略并让它始终返回true
关于Spring AMQP 异常处理基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28245473/