confirm-nack-channel的用途是什么,在什么情况下消息将被重定向到confirm-nack-channel

时间:2016-04-11 07:02:53

标签: spring-integration spring-amqp

下面的

是我的出站适配器,我想知道在这里使用nack-channel

<int-amqp:outbound-channel-adapter channel="fulfillmentOutboundChannel"
                                   routing-key="xyz"
                                   amqp-template="transactionalRabbitTemplate"
                                   confirm-correlation-expression="payload"
                                   confirm-ack-channel="successRespTransformChannel"
                                   confirm-nack-channel="failureRespTransformChannel"
                                   return-channel="failureRespTransformChannel"
                                   mapped-request-headers="*"


        />

1 个答案:

答案 0 :(得分:0)

Nacks很少发生 - 可能是因为经纪人遇到了一些问题。来自RabbitMQ Confirms (aka Publisher Acknowledgements)

  

在特殊情况下,当代理无法成功处理消息而不是basic.ack时,代理将发送basic.nack。

     

...

     只有在负责队列的Erlang进程中发生内部错误时,才会发送

basic.nack。

当收到nack时,使用您的配置,它将被发送到具有原始消息有效负载的nack通道。