spring集成amqp通道错误处理程序auto ack

我有一个支持amqp的通道<int-amqp:channel>来临时保存来自JDBC入站适配器的消息。 当没有异常抛出时,该消息被删除并从兔子队列中移除。 当发生异常时,该消息被返回到队列并且被连续地重新处理。 在某些情况下,我希望请求返回队列,但在大多数情况下,我只想记录错误并确认请求(从兔子队列中删除)。

我已经实现了一个errorHandler来处理抛出的异常,并允许日志记录和“成功”完成,但是即使在处理之后,原始请求也会重新发送到rabbit队列(未确认)

在入站兔子适配器中,有一个用于错误通道的属性,并且处理errorChannel上的消息允许我实现上述所需的行为。 amqp频道唯一的错误属性是errorhandler。

关于配置的任何建议可以让我满足我的要求?

谢谢


抛出一个AmqpRejectAndDontRequeueException 。 请参阅3.9异常处理。

默认错误处理程序会为消息转换异常(可能无法恢复)执行此操作。

事实上,您可以通过注入一个自定义的FatalExceptionStrategy来使用该错误处理程序。

链接地址: http://www.djcxy.com/p/34099.html

上一篇: spring integration amqp channel error handler auto ack

下一篇: Close Idle/dangling channels