(动力节点)RocketMQ笔记第三章RocketMQ集成SpringBoot

本文档详细介绍了如何将RocketMQ与SpringBoot整合,包括消息生产者和消费者的搭建,涉及配置文件设置、发送不同类型消息(如对象、集合、同步、异步、延迟、顺序、事务)以及消息过滤与消费模式。还涵盖了消息堆积解决方案和确保消息不丢失的策略,确保安全的ACL控制等内容。

动力节点双哥最新RocketMQ视频

22. Rocketmq集成SpringBoot

22.1 搭建rocketmq-producer(消息生产者)


22.1.1 创建项目,完整的pom.xml

| <?_xml version="1.0" encoding="UTF-8"_?>
<project xmlns=“http://maven.apache.org/POM/4.0.0” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"

4.0.0

org.springframework.boot
spring-boot-starter-parent
2.6.3

_

com.powernode
01-rocketmq-producer
0.0.1-SNAPSHOT
rocketmq-producer
Demo project for Spring Boot

<java.version>1.8</java.version>



org.springframework.boot
spring-boot-starter-web
** **
** _**
** **
**org.apache.rocketmq **
**rocketmq-spring-boot-starter 2.0.2 **
** **

org.projectlombok
lombok
true


org.springframework.boot
spring-boot-starter-test
test





org.springframework.boot
spring-boot-maven-plugin



org.projectlombok
lombok





22.1.2 修改配置文件application.yml

| spring: application:
name: rocketmq-producerrocketmq:
name-server: 127.0.0.1:9876

rocketMq的nameServer地址

producer:
group: powernode-group

生产者组别

send-message-timeout: 3000

消息发送的超时时间

retry-times-when-send-async-failed: 2

异步消息发送失败重试次数

max-message-size: 4194304

# 消息的最大长度

22.1.3 我们在测试类里面测试发送消息

往powernode主题里面发送一个简单的字符串消息

| /** * 注入rocketMQTemplate,我们使用它来操作mq /
@Autowiredprivate RocketMQTemplate rocketMQTemplate;
/
* * 测试发送简单的消息 * * @throws Exception */
@Testpublic void testSimpleMsg() throws Exception {
// 往powernode的主题里面发送一个简单的字符串消息
SendResult sendResult = rocketMQTemplate.syncSend(“powernode”, “我是一个简单的消息”);
// 拿到消息的发送状态
System.out.println(sendResult.getSendStatus());
// 拿到消息的id
System.out.println(sendResult.getMsgId());
}
|
| — |

运行后查看控制台

22.1.4 查看rocketMq的控制台


查看消息细节

22.2 搭建rocketmq-consumer(消息消费者)


22.2.1 创建项目,完整的pom.xml

| <?_xml version="1.0" encoding="UTF-8"_?>
<project xmlns=“http://maven.apache.org/POM/4.0.0” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"

4.0.0

org.springframework.boot
spring-boot-starter-parent ** **
2.6.3

_

com.powernode
02-rocketmq-consumer
0.0.1-SNAPSHOT
rocketmq-consumer
Demo project for Spring Boot

&

### 关于 Spring Boot 的学习资料与动力节点老杜的笔记 Spring Boot 是一个非常流行的 Java 开发框架,旨在简化基于 Spring 的应用开发。对于初学者和进阶开发者来说,掌握 Spring Boot 的核心概念及其生态是非常重要的。以下是一些关于 Spring Boot 的学习资源和建议,特别是与动力节点的老杜相关的资料。 #### 1. 动力节点 Spring Boot 教程 动力节点提供了由王鹤老师主讲的 Spring Boot 系列教程[^1],该教程从基础到高级逐步深入,适合不同阶段的学习者。课程内容涵盖 Spring Boot 的核心功能、常用组件以及最新版本的功能特性(如 Spring Boot 2.x 系列)。教程还包含实际案例,帮助学习者快速上手并掌握 Spring Boot 的开发技巧。 #### 2. Spring Boot 容器启动后执行任务的接口 在实际开发中,有时需要在 Spring Boot 应用启动后执行某些初始化任务,例如读取配置文件或建立数据库连接。Spring Boot 提供了两个主要接口来实现这一需求:`CommandLineRunner` 和 `ApplicationRunner`[^2]。以下是这两个接口的基本使用示例: ```java import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; @Component public class MyCommandLineRunner implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println("容器启动后执行的任务"); } } ``` #### 3. Spring Boot 与传统 Spring 集成的对比 如果之前熟悉传统的 Spring 框架,可能会对 Spring Boot 的自动化配置感到陌生。动力节点的教程中提到,传统 Spring 配置通常需要手动配置类库、修改 `web.xml` 文件以及提供额外的配置文件(如 `struts-config.xml`)[^3]。而 Spring Boot 则通过自动配置机制大幅简化了这些步骤,使得开发者可以专注于业务逻辑的实现。 #### 4. 学习建议与资源推荐 - **官方文档**:Spring Boot 的官方文档是权威的学习资源,涵盖了框架的所有功能和最佳实践[^1]。 - **书籍推荐**: -Spring Boot 实战》:详细介绍了 Spring Boot 的核心概念和实战技巧。 -Spring Boot 核心技术与最佳实践》:适合有一定基础的学习者。 - **在线视频**:动力节点的老杜系列教程是一个很好的起点,尤其是针对初学者的内容。 - **社区支持**:参与 Spring Boot 社区讨论,了解最新的开发趋势和技术更新。 #### 5. 年龄与编程的关系 无论年龄大小,学习编程和技术都是可行的。正如老杜在直播中提到的,35 岁以后依然可以从事编码工作,并且可以通过转型为项目经理或产品经理来拓展职业路径[^4]。关键在于保持对技术的热情和持续学习的态度。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值