1. 程式人生 > >RabbitMQ ACK 訊息確認機制

RabbitMQ ACK 訊息確認機制

注意如果拋異常或unack(並且requeue為true),訊息會一直重新入佇列,一不小心就會xxxxx一大堆訊息不斷重複~。

//訊息的標識,false只確認當前一個訊息收到,true確認所有consumer獲得的訊息 (正常消費)

channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);

//ack返回false,並重新回到佇列,api裡面解釋得很清楚  (本地異常)

channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true);

//拒絕訊息

channel.basicReject(message.getMessageProperties().getDeliveryTag(), true);