springboot--RabbitMQ消息确认Ack/NAck

本文探讨了消息队列中消息的状态变化与消费机制。详细解释了消息未进行ack操作时的状态为unacked,不能被其他消费者消费,重启consumer后会重新消费;以及消息进行nack操作时,设置requeue为true,消息将回到队列,由其他消费者轮训消费。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 如果消息未进行ack操作,即忘了ack,那么该消息消费完之后,消息的状态为unacked,该消息也不能被其他消费者所消费;如果重启consumer,该消息将重新被消费。
  2. 如果消息进行nack操作,即如下,将第三个参数requeue设置为true,此时消息将重新回到队列,mq将轮训其他的消费者。
channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值