如果不清楚本篇內容的,請務必先去看完上一篇再看本篇,否則閱讀起來可能會有部分障礙和困難;
上一篇文章《SpringCloud學習之Stream消息驅動【默認通道】(十)》我們簡單用自定義通道實現了消息發送和接收,但是用的是Stream給我們提供的默認Source,Sink,接下來我們要自己進行自定義,這種方式在工作中還是用的比較多的,因為我們要往不同的消息通道發消息,必然不能全都叫input,output的,那樣的話就亂套了
(一)創建消息生產者【service-sender-stream-8089】
MySource.java
application.yml
發送消息接口不變
接口實現需要重新改造:
(二)消息消費者【service-consumer-stream-8090和service-consumer-stream-8091】
這兩個消費客戶端的配置基本一模一樣的,只是application.yml中的端口略有不同
因為我們這個測試項目沒有公共依賴模塊,所以暫時把消息生產端中的MySource.java這個自定義通道類文件復制放到兩個客戶端模塊里
我們還要重新改造消息消費者里的代碼,接口定義不變:
重新Rebuild三個項目模塊,然后重新啟動三個模塊,打開消息生產者swagger頁面http://localhost:8089/swagger-ui.html重新生產一個消息到消息隊列,我們依舊可以看到兩個客戶端也接收到了發送過來的消息:
至此我們完成了自定義通道消息發送和接收,spring cloud stream還有很多東西(比如分組group和分區partition),后面有空我再深入了解后補充說明,謝謝大家。
===============================================================================
如果您覺得此文有幫助,可以打賞點錢給我支付寶或掃描二維碼