中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用spring boot+rocketMQ實現簡單的消息發送與接收

發布時間:2021-11-15 16:39:27 來源:億速云 閱讀:309 作者:iii 欄目:大數據

這篇文章主要介紹“怎么用spring boot+rocketMQ實現簡單的消息發送與接收”,在日常操作中,相信很多人在怎么用spring boot+rocketMQ實現簡單的消息發送與接收問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用spring boot+rocketMQ實現簡單的消息發送與接收”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1. 環境搭建

我們要使用rocketMQ,因此需要使用rocketMQ服務。        安裝教程

以上并沒有介紹windows下怎么運行,所以講一下windows的安裝方法。

按照安裝教程下載二進制文件,然后解壓到任意目錄下:

怎么用spring boot+rocketMQ實現簡單的消息發送與接收

· 配置環境變量:

ROCKETMQ_HOME
E:\rocketMQ\rocketmq-all-4.4.0-bin-release    // 文件解壓的路徑

怎么用spring boot+rocketMQ實現簡單的消息發送與接收

怎么用spring boot+rocketMQ實現簡單的消息發送與接收

完成配置后最好重啟下計算機!!!!!!!!不重啟可能存在找不到環境變量的錯誤。

· 啟動服務:

在你安裝目錄的bin文件夾下打開命令窗口。

首先啟動 namesrv

start mqnamesrv.cmd

怎么用spring boot+rocketMQ實現簡單的消息發送與接收

請勿關閉此命令框

啟動broker

start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true

怎么用spring boot+rocketMQ實現簡單的消息發送與接收

請勿關閉此命令框

假如彈出提示框提示‘錯誤: 找不到或無法加載主類 xxxxxx’。打開runbroker.cmd,然后將‘%CLASSPATH%’加上英文雙引號。保存并重新執行start語句。

怎么用spring boot+rocketMQ實現簡單的消息發送與接收

如果出現內存不夠的錯誤,請確保機器有足夠的運行內存,然后重新啟動。

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實現簡單的消息發送與接收”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

依安县| 京山县| 浦东新区| 英山县| 涟水县| 抚远县| 方城县| 大足县| 周口市| 山阴县| 汉沽区| 双鸭山市| 专栏| 丹江口市| 焉耆| 普宁市| 尚志市| 苗栗县| 长兴县| 泾源县| 宁晋县| 盘锦市| 葫芦岛市| 湖口县| 高密市| 尖扎县| 北宁市| 浦东新区| 嫩江县| 临夏市| 彝良县| 延津县| 义乌市| 长春市| 和硕县| 慈利县| 嵊州市| 得荣县| 铁岭市| 布拖县| 广灵县|