當前位置:
首頁 > 知識 > RabbitMQ消息中間件技術精講7 發送自定義屬性消息

RabbitMQ消息中間件技術精講7 發送自定義屬性消息

Binding-綁定

Exchange和Exchange、exchange和queue之間的連接關係

Binding中可以包含Routing Key或參數

Queue-消息隊列

消息隊列,實際存儲消息數據

屬性:

Durability:是否持久化。Durable:是,Transient:否

Auto Delete:如選yes,代表當最後一個監聽被移除之後,該Queue會自動被刪除

Message-消息

伺服器和應用程序之間傳遞的數據。本質上就是一段數據,由Properties和Payload(Body)組成。

常用屬性:delivery mode、headers(自定義屬性)

其他屬性:content_type、content_encoding(字符集)、priority(優先順序0-9)

Correlation_id:可以理解為消息的id 一般是業務 時間戳等。reply_to:做成輝隊列的時候失敗後返回給那個隊列

Expiration:失效時間、message_id 消息id

可以自定義屬性:

Timestamp、type、user_id、app_id、cluster_id

實現發送帶有附件信息的消息:

AMQP.BasicProperties properties = new AMQP.BasicProperties().builder().build();

可以鏈式。如下圖:

我們來設置過期時間、自定義屬性:

在發送消息的時候,將properties帶上:

啟動生產者,查看發送了5條消息;10s之後,五條消息自動過期。

消費端,消費消息修改:

啟動消費者消費,查看獲取到的自定義信息:

我們可以看到,消費者輸出的消息是生產者發送的消息。目標達到。

Virtual host – 虛擬主機

虛擬地址,用於進行邏輯隔離的,最上層的消息路由

需要注意:

1:一個virtual hosot裡面可以同時存在多個exchange和queue

2:同一個virtual host裡面不能有相同的exchange或queue

總結:

通過本篇,我們主要學會了怎麼在發送消息的是,帶上其他參數及自定義參數信息的發送及獲取。

下節預告:從下一節開始,我們將進入rabbitmq高級篇。如:消息如果保證100%的投遞、冪等性等

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 凱哥java 的精彩文章:

JVM學習系列學習四

TAG:凱哥java |