Spring AMQP重试机制:我怎么知道当前执行是原始执行还是重试

Spring AMQP retrial mechanism : how could I know if the current execution is the original one or a retrial

不管在Rabbit listener上应用重试的机制如何,我如何在实现中知道当前执行是原始执行还是异常后的重试。

我想记录这个,我也会根据它采取行动。

这取决于您的听众类型;如果是 MessageListener,则可以使用 message.getMessageProperties().isRedelivered()。如果您使用的是 @RabbitListener,请将 @Header(AmqpHeaders.REDELIVERED) boolean redelivered 添加到方法参数中。

重新投递计数不可用,只是这是一次重新投递。