https://blog.csdn.net/WoodYangOY/article/details/124627533
在分区和分组的基础上,有些时候我们的消息需要自己手动进行ACK操作,这个时候就需要配置Spring Cloud Stream 的ack
消息生产者
消息确认
PublisherConfirmsProducer
配置
消息消费者
basicReject / basicNack / basicRecover区别
channel.basicReject(deliveryTag, true);
basic.reject方法拒绝deliveryTag对应的消息,第二个参数是否requeue,true则重新入队列,否则丢弃或者进入死信队列。
该方法reject后,该消费者还是会消费到该条被reject的消息。channel.basicNack(deliveryTag, false, true);
basic.nack 方法为不确认deliveryTag对应的消息,第二个参数是否应用于多消息,第三个参数是否requeue
,与basic.reject区别就是同时支持多个消息,可以nack该消费者先前接收未ack的所有消息。nack后的消息也会被自己消费到。channel.basicRecover(true);
basic.recover 是否恢复消息到队列,参数是是否requeue,true则重新入队列,
并且尽可能的将之前recover的消息投递给其他消费者消费,而不是自己再次消费。false则消息会重新被投递给自己。
作者:Jeebiz 创建时间:2023-04-03 15:07
最后编辑:Jeebiz 更新时间:2025-04-24 19:03
最后编辑:Jeebiz 更新时间:2025-04-24 19:03