spring amqp ConfirmCallback CorrelationData 有时为空

spring amqp ConfirmCallback CorrelationData is null sometimes

我启用发布确认,并使用 CorrelationData 调用 RabbitTemplate 发送方法。但是当我在 ConfirmCallback 中获取 CorrelationData 时,有时 CorrelationData 为 null 而 ack 为 true。我必须加上判断Correlation!=null。

这是 spring amqp 中的正常行为吗?

如果您配置 RabbitTemplate 支持确认您必须提供相关数据。

如果您调用没有关联数据参数或带有 null 参数的 send 方法,您将在回调中得到 null

目的是,如果您想要确认,则需要为每次发送提供相关数据(以便您可以确定确认是针对哪个发送)。