這篇文章主要介紹“怎么用spring boot+rocketMQ實現簡單的消息發送與接收”,在日常操作中,相信很多人在怎么用spring boot+rocketMQ實現簡單的消息發送與接收問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用spring boot+rocketMQ實現簡單的消息發送與接收”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
10年積累的網站制作、成都做網站經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有豐順免費網站建設讓你可以放心的選擇與我們合作。
1. 環境搭建
我們要使用rocketMQ,因此需要使用rocketMQ服務。 安裝教程
以上并沒有介紹windows下怎么運行,所以講一下windows的安裝方法。
按照安裝教程下載二進制文件,然后解壓到任意目錄下:
· 配置環境變量:
ROCKETMQ_HOME E:\rocketMQ\rocketmq-all-4.4.0-bin-release // 文件解壓的路徑
完成配置后最好重啟下計算機!!!!!!!!不重啟可能存在找不到環境變量的錯誤。
· 啟動服務:
在你安裝目錄的bin文件夾下打開命令窗口。
首先啟動 namesrv
start mqnamesrv.cmd
請勿關閉此命令框
啟動broker
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
請勿關閉此命令框
假如彈出提示框提示‘錯誤: 找不到或無法加載主類 xxxxxx’。打開runbroker.cmd,然后將‘%CLASSPATH%’加上英文雙引號。保存并重新執行start語句。
如果出現內存不夠的錯誤,請確保機器有足夠的運行內存,然后重新啟動。
RocketMQ插件部署,這里沒研究過,直接參照別人的吧。
========================================================================================
開始正事,官方地址。
以下spring boot的版本都是2.1.4.RELEASE
· 搭建生產者(producer),也就是消息發送者
加入pom
<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.0.3</version> </dependency>
## application.properties rocketmq.name-server=127.0.0.1:9876 rocketmq.producer.group=my-group
新建一個controller來做消息發送:
@RestController public class SendMessageApi { @Resource private RocketMQTemplate rocketMQTemplate; @GetMapping(value = "/send/{message}") public String echo(@PathVariable String message) { // // 往主題test-topic-1直接發送Hello, World! // rocketMQTemplate.convertAndSend("test-topic-1", "Hello, World!"); // 往主題test-topic-1發送message rocketMQTemplate.send("test-topic-1", MessageBuilder.withPayload(message).build()); // // 往主題test-topic-2發送對象,這里對象是自己自定義的dto,需要序列化 // MessageDto messageDto = new MessageDto(); // messageDto.setXXX(""); // ... // rocketMQTemplate.convertAndSend("test-topic-2", messageDto); System.out.println("消息發送成功........."); return message; } }
· 搭建消費者(consumer),也就是消息接收者
加入pom
<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.0.3</version> </dependency>
## application.properties rocketmq.name-server=127.0.0.1:9876
// 接收string類型消息 @Service @RocketMQMessageListener(topic = "test-topic-1", consumerGroup = "my-consumer_test-topic-1") public class MyConsumer1 implements RocketMQListener<String>{ public void onMessage(String message) { System.out.println("received message: " + message); } } // 接收對象類型的消息 @Service @RocketMQMessageListener(topic = "test-topic-2", consumerGroup = "my-consumer_test-topic-2") public class MyConsumer2 implements RocketMQListener<MessageDto>{ public void onMessage(MessageDto messageDto) { System.out.println("received messageDto: " + messageDto.toString()); } }
簡單的消息發送與接收搭建完畢。
到此,關于“怎么用spring boot+rocketMQ實現簡單的消息發送與接收”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!
本文題目:怎么用springboot+rocketMQ實現簡單的消息發送與接收
分享路徑:http://m.kartarina.com/article14/pgoede.html
成都網站建設公司_創新互聯,為您提供微信公眾號、響應式網站、自適應網站、小程序開發、手機網站建設、品牌網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯