rabbitMQ筆記

https://www.rabbitmq.com/documentation.html

https://blog.csdn.net/hellozpc/article/details/81436980

 

同一個消息可以被不同消息隊列的的消費者實例接收,同一消息在同一個消息隊列中只會被一個消費實例消費。

exchange沒有存儲能力,只負責路由到不同的消息隊列。

消息的確認模式:

模式1:自動確認
只要消息從隊列中獲取,無論消費者獲取到消息後是否成功消息,都認爲是消息已經成功消費。
模式2:手動確認
消費者從隊列中獲取消息後,服務器會將該消息標記爲不可用狀態,等待消費者的反饋,如果消費者一直沒有反饋,那麼該消息將一直處於不可用狀態。

// 同一時刻服務器只會發一條消息給消費者
channel.basicQos(1);

 

//消費端: 表示使用手動確認模式
channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);

同時改爲手動確認:

// 監聽隊列,false表示手動返回完成狀態,true表示自動
channel.basicConsume(QUEUE_NAME, false, consumer);
 

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