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

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

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

课程地址https://developer.aliyun.com/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版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
2天前
|
XML Java 数据库连接
SpringBoot集成Flowable:打造强大的工作流管理系统
在企业级应用开发中,工作流管理是一个核心组件,它能够帮助我们定义、执行和管理业务流程。Flowable是一个开源的工作流和业务流程管理(BPM)平台,它提供了强大的工作流引擎和建模工具。结合SpringBoot,我们可以快速构建一个高效、灵活的工作流管理系统。本文将探讨如何将Flowable集成到SpringBoot应用中,并展示其强大的功能。
15 1
|
12天前
|
JSON Java API
springboot集成ElasticSearch使用completion实现补全功能
springboot集成ElasticSearch使用completion实现补全功能
18 1
|
2天前
|
XML 存储 Java
SpringBoot集成Flowable:构建强大的工作流引擎
在企业级应用开发中,工作流管理是核心功能之一。Flowable是一个开源的工作流引擎,它提供了BPMN 2.0规范的实现,并且与SpringBoot框架完美集成。本文将探讨如何使用SpringBoot和Flowable构建一个强大的工作流引擎,并分享一些实践技巧。
14 0
|
27天前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
48 1
|
1月前
|
存储 前端开发 Java
Spring Boot 集成 MinIO 与 KKFile 实现文件预览功能
本文详细介绍如何在Spring Boot项目中集成MinIO对象存储系统与KKFileView文件预览工具,实现文件上传及在线预览功能。首先搭建MinIO服务器,并在Spring Boot中配置MinIO SDK进行文件管理;接着通过KKFileView提供文件预览服务,最终实现文档管理系统的高效文件处理能力。
229 11
|
2月前
|
XML Java 关系型数据库
springboot 集成 mybatis-plus 代码生成器
本文介绍了如何在Spring Boot项目中集成MyBatis-Plus代码生成器,包括导入相关依赖坐标、配置快速代码生成器以及自定义代码生成器模板的步骤和代码示例,旨在提高开发效率,快速生成Entity、Mapper、Mapper XML、Service、Controller等代码。
springboot 集成 mybatis-plus 代码生成器
|
2月前
|
Java Spring
springboot 集成 swagger 2.x 和 3.0 以及 Failed to start bean ‘documentationPluginsBootstrapper‘问题的解决
本文介绍了如何在Spring Boot项目中集成Swagger 2.x和3.0版本,并提供了解决Swagger在Spring Boot中启动失败问题“Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerEx”的方法,包括配置yml文件和Spring Boot版本的降级。
springboot 集成 swagger 2.x 和 3.0 以及 Failed to start bean ‘documentationPluginsBootstrapper‘问题的解决
|
27天前
|
Java Spring
springboot 学习十一:Spring Boot 优雅的集成 Lombok
这篇文章是关于如何在Spring Boot项目中集成Lombok,以简化JavaBean的编写,避免冗余代码,并提供了相关的配置步骤和常用注解的介绍。
75 0
|
3月前
|
Java Spring
【Azure Developer】Springboot 集成 中国区的Key Vault 报错 AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found
【Azure Developer】Springboot 集成 中国区的Key Vault 报错 AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found
下一篇
无影云桌面