怎么用springboot+rocketMQ实现简单的消息发送与接收

这篇文章主要介绍“怎么用spring boot+rocketMQ实现简单的消息发送与接收”,在日常操作中,相信很多人在怎么用spring boot+rocketMQ实现简单的消息发送与接收问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用spring boot+rocketMQ实现简单的消息发送与接收”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

10年积累的网站制作、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有丰顺免费网站建设让你可以放心的选择与我们合作。

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实现简单的消息发送与接收”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!

本文题目:怎么用springboot+rocketMQ实现简单的消息发送与接收
分享路径:https://www.cdcxhl.com/article14/pgoede.html

成都网站建设公司_创新互联,为您提供微信公众号响应式网站自适应网站小程序开发手机网站建设品牌网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设