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月前
|
消息中间件 弹性计算 Kubernetes
RabbitMQ与容器化技术的集成实践
【8月更文第28天】RabbitMQ 是一个开源消息代理和队列服务器,用于在分布式系统中存储、转发消息。随着微服务架构的普及,容器化技术(如 Docker 和 Kubernetes)成为了部署和管理应用程序的标准方式。本文将探讨如何使用 Docker 和 Kubernetes 在生产环境中部署和管理 RabbitMQ 服务,同时保证高可用性和弹性伸缩能力。
39 3
|
30天前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
30天前
|
jenkins 持续交付
jenkins学习笔记之六:共享库方式集成构建工具
jenkins学习笔记之六:共享库方式集成构建工具
|
1月前
|
消息中间件 分布式计算 大数据
RabbitMQ与大数据平台的集成
【8月更文第28天】在现代的大数据处理架构中,消息队列作为数据传输的关键组件扮演着重要的角色。RabbitMQ 是一个开源的消息代理软件,它支持多种消息协议,能够为分布式系统提供可靠的消息传递服务。本篇文章将探讨如何使用 RabbitMQ 与 Hadoop 和 Spark 进行集成,以实现高效的数据处理和分析。
18 1
|
1月前
|
消息中间件 Java Maven
|
30天前
|
jenkins 持续交付
jenkins学习笔记之九:jenkins认证集成github
jenkins学习笔记之九:jenkins认证集成github
|
30天前
|
安全 jenkins 持续交付
jenkins学习笔记之八:jenkins认证集成gitlab
jenkins学习笔记之八:jenkins认证集成gitlab
|
30天前
|
jenkins Devops 持续交付
jenkins学习笔记之七:jenkins集成LDAP用户认证
jenkins学习笔记之七:jenkins集成LDAP用户认证
|
2月前
|
监控 druid Java
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
186 6
|
2月前
|
Java 关系型数据库 MySQL
如何实现Springboot+camunda+mysql的集成
【7月更文挑战第2天】集成Spring Boot、Camunda和MySQL的简要步骤: 1. 初始化Spring Boot项目,添加Camunda和MySQL驱动依赖。 2. 配置`application.properties`,包括数据库URL、用户名和密码。 3. 设置Camunda引擎属性,指定数据源。 4. 引入流程定义文件(如`.bpmn`)。 5. 创建服务处理流程操作,创建控制器接收请求。 6. Camunda自动在数据库创建表结构。 7. 启动应用,测试流程启动,如通过服务和控制器开始流程实例。 示例代码包括服务类启动流程实例及控制器接口。实际集成需按业务需求调整。
208 4

热门文章

最新文章