RabbiteMQ消息的拒絕 —— Reject和Nack

RabbitMQ消息應答中, 我們在採用手動確認時,爲了避免因爲異常導致消息無法被處理,就曾使用過channel.basicRject()方法,如下:
在這裏插入圖片描述


我們可以看看該方法,其中主要有兩個參數:
在這裏插入圖片描述

basicReject在拒絕消息時,需要指定上述兩個參數,第一個deliveryTag,即消息的ID;第二個requeue,表示該消息是否需要重新發送給消費者。


deliveryTag標識設置爲true時,消息被拒絕後,會一直進行重發,直到消息能夠被正常的消費並確認,如果deliveryTag標識設置爲false時,那麼消息被拒絕後不會再進行重發。




而Nack則是RabbitMQ對AMQP規範的一個擴展,其可以一次性拒絕多個消息。
在這裏插入圖片描述

其中多了一個參數multiple,其表示是是否爲批量拒絕,這個參數之前在批量確認中也是有的。

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