SpringBoot 整合 Rocketmq
一共两个 SpringBoot 项目
生产者
依赖
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
配置文件
rocketmq:
# RocketMQ 的 NameServer 地址,多个用分号隔开
name-server: 127.0.0.1:9876
producer:
# 生产者组名
group: my-group
测试
@Autowired
private RocketMQTemplate rocketMQTemplate;
@Test
void name() {
rocketMQTemplate.convertAndSend("topicTest-Spring", "你好!SpringBoot");
}
消费者
依赖
添加web起步依赖原因是消费者是一直监听的。
<!--添加web起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--rocketmq-->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
SpringBoot yml文件
rocketmq:
# RocketMQ 的 NameServer 地址
name-server: 127.0.0.1:9876
consumer:
# 消费者组名
group: my-group
创建监听器
@Component
// 指定 RocketMQ 监听器,监听名为 "topicTest-Spring" 的主题,消费者组名从配置文件中读取
@RocketMQMessageListener(topic = "topicTest-Spring", consumerGroup = "${rocketmq.consumer.group}")
public class Consumer implements RocketMQListener<String> {
@Override
// 处理接收到的消息
public void onMessage(String s) {
// 接收到消息
System.out.println(s);
}
}