开发者学堂课程【RocketMQ 知识精讲与项目实战(第二阶段):Springboot 集成 Rocketmq 生产者】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/703/detail/12397
Springboot 集成 Rocketmq 生产者
内容介绍:
一、准备工作
二、添加依赖
三、配置文件
四、启动类
五、测试类
本节我们使用 Springboot 去整合 RocketMQ,之后再进行 RocketMQ 开发就会变得非常方便。分成2个步骤:
第一步开发消息生产者,第二步开发消息消费者。
一、准备工作
在开发两者前需要将 Springboot 和 RocketMQ 整合的依赖安装到本地仓库。此处可以登录 rocketmq-spring 官网即在 GitHub 上开源网址。在 GitHub 网站上下载依赖包,点击下图按钮下载:
提供的资料中也存在,如下:
下载该包后进行解压,之后需要将它安装到本地仓库。使用如下命令安装:
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 控制台,点击主题
可以看到有刚才发送的主题消息。所以在企业中可以使用 Springboot 集成 Rocketmq 快速发送消息。
最后注意:在上述依赖中 lombok 的依赖使用:例如想要输出日志,添加注解@sllf4j,再在public void testSendMessage 中添加代码 Log.info(“”)就可以打印日志,例如 Log.info(“消息发送成功”)
再来运行,就可以看到日志输出
关于 Rocketmq 集成 Springboot 消息的发送已经完成。
总结:
在 springboot 集成 Rocketmq 过程中首先下载相关依赖包,在 GitHub 上下载,然后使用命令添加到本地仓库。
然后添加配置文件(配置文件中主要配置了.group)、启动类、测试类(使用 RocketMQTemplate 进行消息发送)