我有一个Listener类(它实现了Spring的MessageListener
接口),如果发生异常,我不需要重新排队任何消息,但我想将消息发布到不同的队列。
似乎我需要监听器来捕获AmqpRejectAndDontRequeueException
,但我已经读过我需要它来抛出异常。如果我这样做,我就无法重新发布消息。
我应该抓住一个简单的异常并重新发布吗?是否有必要在此时实际抛出AmqpRejectAndDontRequeueException
?
我想知道最佳做法。谢谢。
答案 0 :(得分:4)
有不同的方法来实现这一目标。
最简单的说,你只需要在客户端捕获所有异常并抛出AmqpRejectAndDontRequeueException
。
否则,请查看FatalExceptionStrategy
,您需要拥有自己的策略并让它始终返回true