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

简介: 快速学习 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版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
8月前
|
消息中间件 存储 NoSQL
RocketMQ实战—6.生产优化及运维方案
本文围绕RocketMQ集群的使用与优化,详细探讨了六个关键问题。首先,介绍了如何通过ACL配置实现RocketMQ集群的权限控制,防止不同团队间误用Topic。其次,讲解了消息轨迹功能的开启与追踪流程,帮助定位和排查问题。接着,分析了百万消息积压的处理方法,包括直接丢弃、扩容消费者或通过新Topic间接扩容等策略。此外,提出了针对RocketMQ集群崩溃的金融级高可用方案,确保消息不丢失。同时,讨论了为RocketMQ增加限流功能的重要性及实现方式,以提升系统稳定性。最后,分享了从Kafka迁移到RocketMQ的双写双读方案,确保数据一致性与平稳过渡。
|
5月前
|
物联网 Linux 开发者
快速部署自己私有MQTT-Broker-下载安装到运行不到一分钟,快速简单且易于集成到自己项目中
本文给物联网开发的朋友推荐的是GMQT,让物联网开发者快速拥有合适自己的MQTT-Broker,本文从下载程序到安装部署手把手教大家安装用上私有化MQTT服务器。
1476 5
|
8月前
|
消息中间件 Java 测试技术
RocketMQ实战—7.生产集群部署和生产参数
本文详细介绍了RocketMQ生产集群的部署与调优过程,包括集群规划、环境搭建、参数配置和优化策略。
RocketMQ实战—7.生产集群部署和生产参数
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
消息中间件 弹性计算 Kubernetes
RabbitMQ与容器化技术的集成实践
【8月更文第28天】RabbitMQ 是一个开源消息代理和队列服务器,用于在分布式系统中存储、转发消息。随着微服务架构的普及,容器化技术(如 Docker 和 Kubernetes)成为了部署和管理应用程序的标准方式。本文将探讨如何使用 Docker 和 Kubernetes 在生产环境中部署和管理 RabbitMQ 服务,同时保证高可用性和弹性伸缩能力。
385 3
|
消息中间件 Java 数据库
新版 Seata 集成 RocketMQ事务消息,越来越 牛X 了!阿里的 Seata , yyds !
这里 借助 Seata 集成 RocketMQ 事务消息的 新功能,介绍一下一个新遇到的面试题:如果如何实现 **强弱一致性 结合**的分布式事务?
新版 Seata 集成 RocketMQ事务消息,越来越 牛X 了!阿里的 Seata , yyds !
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
398 0
|
消息中间件 分布式计算 大数据
RabbitMQ与大数据平台的集成
【8月更文第28天】在现代的大数据处理架构中,消息队列作为数据传输的关键组件扮演着重要的角色。RabbitMQ 是一个开源的消息代理软件,它支持多种消息协议,能够为分布式系统提供可靠的消息传递服务。本篇文章将探讨如何使用 RabbitMQ 与 Hadoop 和 Spark 进行集成,以实现高效的数据处理和分析。
251 1
|
监控 druid Java
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
1161 6