在channel上開啟確認模式 : channel.confirmselect()
在channel上新增監聽 : addconfirmlistener, 監聽成功和失敗的返回結果, 根據具體的結果對訊息進行重新傳送, 或記錄日誌等後續處理
package com.qiyexue.confirm;
import com.rabbitmq.client.channel;
import com.rabbitmq.client.confirmlistener;
import com.rabbitmq.client.connection;
import com.rabbitmq.client.connectionfactory;
/** * confirm確認訊息模式生產者
* * @author 七夜雪
* @create 2018-12-15 16:12
*/public
class
producerbyconfirm
public
void
handlenack
(long deliverytag,
boolean multiple)
throws ioexception })
;// 因為設定了監聽, 這裡就不關閉channel和connection了
}}
package com.qiyexue.confirm;
import com.rabbitmq.client.channel;
import com.rabbitmq.client.connection;
import com.rabbitmq.client.connectionfactory;
import com.rabbitmq.client.queueingconsumer;
/** * confirm訊息確認的生產者
* * @author 七夜雪
* @create 2018-12-15 16:19
*/public
class
consumerbyconfirm
}}
rabbitmq入門與amqp協議簡介
rabbitmq成員簡介
rabbitmq高階特性-訊息可靠性投遞
rabbitmq高階特性-冪等性保障
rabbitmq高階特性-confirm確認訊息
rabbitmq高階特性-return訊息機制
rabbitmq高階特性-消費端自定義監聽
rabbitmq高階特性-消費端限流
rabbitmq高階特性-消費端ack與重回佇列
rabbitmq高階特性-ttl佇列/訊息
rabbitmq高階特性-死信佇列(dlx)
spring amqp整合rabbitmq
springboot整合rabbitmq
rabbitmq集群架構模式介紹
從零開始搭建高可用rabbitmq映象模式集群
rabbitmq集群恢復與故障轉移
rabbitmq-基礎元件封裝
git**位址
慕課網 所謂訊息的可靠性就是保證訊息生產者傳送訊息後,消費者收到的訊息與傳送的訊息保證一致,同時確保訊息不會丟失.對於這種情況更好的方式就是使用以下兩種方式 1.確認模式 對於確認模式,就是生產者將訊息傳送給交換機時,會返回乙個confirmcallback 配置檔案如下 在配置檔案中需要申明交換機,佇列,... 死信佇列,英文縮寫 dlx dead letter exchange 死信交換機 當訊息成為dead message後,可以被重新傳送到另乙個交換機,這個交換機就是dlx。死信交換機和死信佇列和普通的沒有區別,當訊息成為死信後,如果該佇列繫結了死信交換機,則訊息會被死信交換機重新路由到死信佇列 訊息... 一 confirm機制 confirm就是訊息確認,當producer傳送訊息,如果broker收到訊息,會回覆乙個應答,我們可以以此來確認訊息是否成功送達,是保證 訊息可靠性投遞的核心保障 producer 如下,只需要修改producer端,而consumer端不需要修改 4 指定我們的訊息投遞...RabbitMQ高階特性
RabbitMQ高階特性 死信佇列
RabbitMQ系列 五 高階特性