1. 程式人生 > >Rabbitmq 整合Spring,SpringBoot與Docker

Rabbitmq 整合Spring,SpringBoot與Docker

最近開始研究訊息佇列框架Rabbitmq,之前對訊息佇列只是有個基本概念而已。至於使用場景也侷限於傳送郵件,傳送系統訊息等。

既然開始學習了,首先上官網把基本概念擼清除後,再看看Spring官方整合文件AMQP,基本上摸清了套路。

專案開始前的準備:
工欲善其事必先利其器,首先得安裝Rabbitmq。這裡推薦使用docker進行安裝。


 1. 獲取映象: docker pull rabbitmq:management 
 2. 執行命令 docker run -d --name rabbitmq --publish 5671:5671 \ --publish 5672:5672 -
-publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 \rabbitmq:management 3. 檢視docker容器ip:docker-machine ip 4. 根據獲取的ip,在瀏覽器上訪問:http://${ip}:15672 開啟管理頁面,則說明rabbitmq安裝成功

這裡寫圖片描述

安裝好Rabbitmq後,將SpringBootLearning工程clone下來

git clone https://git.oschina.net/cmlbeliever/SpringBootLearning.git

git clone https://github.com/cmlbeliever/SpringBootLearning.git

專案是放在兩個git託管服務上的,因為github有的時候會訪問失敗,所以就加了一個國內的託管服務。

工程clone下來後,進入到rabbitmq目錄。根據README上的說明進行操作即可。

Spring的配置檔案分成傳送端和接收端配置。傳送端負責傳送特定的訊息,接收端負責接收不同quene下的訊息進行相應的處理,工程上只是log出來了。

目前集成了Exchagne型別有topic,fanout,direct。還添加了手動確認訊息的demo。

工程執行成功後,可以看到執行後接收到訊息的log:
這裡寫圖片描述

至於配置,工程上都有。每個配置的意義,官網上說的很詳細了,網上其他人部落格也說的很多了,這裡就不贅述了。