Rabbit MQ中的消费端拒绝机制

Rabbit MQ的消费者拒绝机制有两种:

  1. 单次拒绝
Channel.basicReject(long deliveryTag, boolean requeue) throws IOException;

其中deliveryTag为消息的编号,它是一个64位的长整型值。requeue参数设置为true,则Rabbit MQ会重新将这条消息存入队列,以便可以发送给下一个订阅的消费者;如果requeue参数设置为false,则Rabbit MQ立即会把消息从队列中移除,而不会发送给新的消费者。

  1. 批量拒绝
Channel.basicNack(long deliveryTag, boolean multiple, boolean requeue) throws IOException;

deliveryTag和requeue的含义和basicReject一致,multiple参数控制单条拒绝和批量拒绝,如果multiple参数设置为false,则表示拒绝编号为deliveryTag的这一条消息,如果multiple参数设置为true则表示拒绝deliveryTag编号之前所有未被确认的消息。

  1. 死信队列

将Channel.basicReject或者Channel.basicNack中的requeue设置为false,可以启用“死信队列”的功能,死信队列可以通过检测被拒绝或者未送达的消息来追踪问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值