是我的出站适配器,我想知道在这里使用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="*"
/>
答案 0 :(得分:0)
Nacks很少发生 - 可能是因为经纪人遇到了一些问题。来自RabbitMQ Confirms (aka Publisher Acknowledgements):
在特殊情况下,当代理无法成功处理消息而不是basic.ack时,代理将发送basic.nack。
...
只有在负责队列的Erlang进程中发生内部错误时,才会发送basic.nack。
当收到nack时,使用您的配置,它将被发送到具有原始消息有效负载的nack通道。