1. 程式人生 > >RabbitMQ(四) : Direct 交換器(釋出與訂閱完全匹配)

RabbitMQ(四) : Direct 交換器(釋出與訂閱完全匹配)

 Direct 型別交換器指訊息傳送者通過交換器完全匹配路由鍵的方式將訊息繫結到相應佇列,然後傳遞給相應的接收者。

下面通過一個例項來說。

本例項通過配置不同的日誌級別的路由鍵來發送和接收資訊。

一、建立接收者(消費者)專案

       1.設定配置檔案application.properties

           設定相應的RabbitMQ的伺服器和相應的交換器名稱,佇列和路由鍵,如下圖

        

      2.建立日誌級別的資訊接收者,以INFO為例。

         InfoReceiver.java

      通過註解 @RabbitListener 將配置的交換器、佇列、路由鍵繫結

     ErrorReceiver.java 與info類似,即將相應的名稱替換成配置檔案裡的error即可,交換器的名稱是一樣的。

二、 設定訊息傳送者(生產者)專案

    

1.設定配置檔案application.properties

           設定相應的RabbitMQ的伺服器和相應的交換器名稱和路由鍵,如下圖。此處不需要佇列名稱,因為傳送者只需要按照路由鍵的規則向交換器傳送訊息即可,路由器會通過訊息頭和路由鍵規則將訊息繫結到相應的佇列中。

2.建立傳送者

Sender.java   設定相應的交換器、路由鍵。

3.測試類

執行上面的2個測試方法,都是每隔2秒,共傳送10次訊息,控制檯輸出如下

RabbitMQ 後臺顯示

從網頁中可以看出,訊息佇列裡多了2個新的佇列,且有資訊在傳遞。