Spring AMQP异常处理基础知识

时间:2015-01-30 22:09:17

标签: spring amqp spring-amqp

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

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

我应该抓住一个简单的异常并重新发布吗?是否有必要在此时实际抛出AmqpRejectAndDontRequeueException

我想知道最佳做法。谢谢。

1 个答案:

答案 0 :(得分:4)

有不同的方法来实现这一目标。

最简单的说,你只需要在客户端捕获所有异常并抛出AmqpRejectAndDontRequeueException

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