springboot + rabbitmq 消费者消息确认 (Ack)

springboot + rabbitmq 消费者消息确认 (Ack)

开启消息确认

spring.rabbitmq.listener.direct.acknowledge-mode=manual
spring.rabbitmq.listener.simple.acknowledge-mode=manual

消费者

@Component
public class RabbitMqComponent7 {

	@RabbitListener(queues = "queueAck")
	public void listerQueueR1(Channel channel,String message,@Header(AmqpHeaders.DELIVERY_TAG) long tag) throws IOException {

		System.out.print(message);
		channel.basicAck(tag,false);
	}
}

channel.basicAck(deliveryTag, false);

deliveryTag:该消息的index
multiple:是否批量.true:将一次性ack所有小于deliveryTag的消息。

channel.basicNack(deliveryTag, false, true);

deliveryTag:该消息的index
multiple:是否批量.true:将一次性拒绝所有小于deliveryTag的消息。
requeue:被拒绝的是否重新入队列

channel.basicReject(deliveryTag:, false);

deliveryTag:该消息的index
requeue:被拒绝的是否重新入队列

发布了43 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43866295/article/details/86714831