-
channel.basicReject(deliveryTag, true);
basic.reject方法拒絕deliveryTag對應的消息,第二個參數是否requeue,true則重新入隊列,否則丟棄或者進入死信隊列。
該方法reject後,該消費者還是會消費到該條被reject的消息。
-
channel.basicNack(deliveryTag, false, true);
basic.nack方法爲不確認deliveryTag對應的消息,第二個參數是否應用於多消息,第三個參數是否requeue,與basic.reject區別就是同時支持多個消息,可以nack該消費者先前接收未ack的所有消息。nack後的消息也會被自己消費到。
-
channel.basicRecover(true);
basic.recover是否恢復消息到隊列,參數是是否requeue,true則重新入隊列,並且儘可能的將之前recover的消息投遞給其他消費者消費,而不是自己再次消費。false則消息會重新被投遞給自己。