RabbitMQ消息的确认模式
生活随笔
收集整理的這篇文章主要介紹了
RabbitMQ消息的确认模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
確認模式
包括兩種自動確認、手動確認
自動確認
只要消息從隊列中獲取,無論消費者獲取到消息后,
是否執行成功,都認為是消息已經成功消費。
手動確認
消費者從隊列中獲取消息后,服務器會將該消息標記為不可用狀態
等待消費者的反饋,如果消費者一直沒有反饋
那么該消息將一直處于不可用狀態。
自動確認
// 監聽隊列 channel.basicConsume(QUEUE_NAME, true, consumer);// 獲取消息 while (true) {QueueingConsumer.Delivery delivery = consumer.nextDelivery();String message = new String(delivery.getBody());System.out.println(" [x] Received '" + message + "'"); }true
表示自動確認
不需要返回,只需要獲取消息
此時,就認為消息已經成功消費
手動確認
// 監聽隊列,手動返回完成 channel.basicConsume(QUEUE_NAME, false, consumer);// 獲取消息 while (true) {QueueingConsumer.Delivery delivery = consumer.nextDelivery();String message = new String(delivery.getBody());System.out.println(" [x] Received '" + message + "'");//休眠Thread.sleep(10);// 返回確認狀態channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false); }False
表示手動確認
手動,消息執行完成之后
需要向服務端,返回一個消息的狀態
總結
以上是生活随笔為你收集整理的RabbitMQ消息的确认模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RabbitMQ三种订阅模式
- 下一篇: RabbitMQ持久化交换机队列