spring集成amqp通道错误处理程序auto ack
我有一个支持amqp的通道<int-amqp:channel>
来临时保存来自JDBC入站适配器的消息。 当没有异常抛出时,该消息被删除并从兔子队列中移除。 当发生异常时,该消息被返回到队列并且被连续地重新处理。 在某些情况下,我希望请求返回队列,但在大多数情况下,我只想记录错误并确认请求(从兔子队列中删除)。
我已经实现了一个errorHandler来处理抛出的异常,并允许日志记录和“成功”完成,但是即使在处理之后,原始请求也会重新发送到rabbit队列(未确认)
在入站兔子适配器中,有一个用于错误通道的属性,并且处理errorChannel上的消息允许我实现上述所需的行为。 amqp频道唯一的错误属性是errorhandler。
关于配置的任何建议可以让我满足我的要求?
谢谢
抛出一个AmqpRejectAndDontRequeueException
。 请参阅3.9异常处理。
默认错误处理程序会为消息转换异常(可能无法恢复)执行此操作。
事实上,您可以通过注入一个自定义的FatalExceptionStrategy
来使用该错误处理程序。