RabbiteMQ消息的拒绝 —— Reject和Nack

RabbitMQ消息应答中, 我们在采用手动确认时,为了避免因为异常导致消息无法被处理,就曾使用过channel.basicRject()方法,如下:
在这里插入图片描述


我们可以看看该方法,其中主要有两个参数:
在这里插入图片描述

basicReject在拒绝消息时,需要指定上述两个参数,第一个deliveryTag,即消息的ID;第二个requeue,表示该消息是否需要重新发送给消费者。


deliveryTag标识设置为true时,消息被拒绝后,会一直进行重发,直到消息能够被正常的消费并确认,如果deliveryTag标识设置为false时,那么消息被拒绝后不会再进行重发。




而Nack则是RabbitMQ对AMQP规范的一个扩展,其可以一次性拒绝多个消息。
在这里插入图片描述

其中多了一个参数multiple,其表示是是否为批量拒绝,这个参数之前在批量确认中也是有的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章