springcloud 連接docker中運行的RabbitMQ消息中間件。


參考:https://blog.51cto.com/zero01/2173288

主要是記錄幾個坑:

第一個坑:開始訂單服務中配置文件是:

  #配置rabbitmq 2019.5.17  added by longdb
  rabbitmq:
    host: 193.112.82.83
    port: 15672
    username: guest
    password: guest
    listener:
      direct:
        retry:
          enabled: true
      simple:
        retry:
          enabled: true

后來查了資料才知道不能用默認的賬號在項目中連接。

然后用默認賬號進入管理后台新增賬號,嘗試了幾次還是搞不定,項目中一直報錯,連接不上。

心一想,能不能刪除之前運行的rabbitmq容器,然后重新啟動個,並且指定另外一個賬號和對應的密碼。

說干就干,Xshell6 連接騰訊雲:

1)docker stop 當前rabbitmq容器。

2)docker rmi 鏡像id。

3)  docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=自己賬號-e RABBITMQ_DEFAULT_PASS=自己密碼-p 15672:15672 -p 5672:5672 rabbitmq:management  (也可以先docker pull rabbitmq:management 然后再啟動。)

登入 http://ip:15672管理頁面,新增代碼中設置的 "myqueue"隊列。

 

 

項目中的.yml文件此時改成:

 

 啟動項目,乃乃滴,還是不行,報套接字問題,管理頁面上看了下,還有剛才docker中啟動時端口看了下,果斷換成5672端口。

 

 最終.yml配置文件為:

 

 再次啟動項目,終於運行起來了,刷新下rabbitmq管理頁:

 

然后測試一下項目發送消息,看看能否監聽到消息:

 

 

 

 

這就是瞎搞的結果,下班后干到現在才把這簡單的東西走通,不過不折騰,哪里會知道其中有這么多細節呢。

后面嘗試下用這個推送消息到android客戶端。(該功能已實現,點擊查看

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM