springboot 实现RocketMQ的topic订阅的具体代码怎么写
时间: 2024-09-23 09:04:33 浏览: 36
SpringBoot整合RocketMq,rocketMq
要在Spring Boot项目中实现RocketMQ的Topic订阅,首先需要添加相关的依赖并设置配置。下面是一个简单的示例,展示了如何在Spring Boot应用中创建一个消费者实例并订阅特定的Topic[^1]:
1. 添加依赖:
在`pom.xml`文件中加入RocketMQ的客户端依赖,如推荐的较高版本:
```xml
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client-spring-boot-starter</artifactId>
<!-- 使用最新的稳定版或指定版本号 -->
<version>4.x.x</version>
</dependency>
```
2. 配置application.yml(或application.properties):
```yaml
spring:
rocketmq:
consumer:
group-id: your-consumer-group
namesrv-address: localhost:9876
topics:
- topic-name-to-subscribe
```
在这里,`group-id`是你消费组的名字,`namesrv-address`是RocketMQ命名服务器的地址,`topics`是你想要订阅的主题列表。
3. 创建消费者类(例如ConsumerService.java):
```java
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.annotation.KafkaListener;
@Configuration
@EnableConfigurationProperties(RocketMQProperties.class)
public class ConsumerService {
@KafkaListener(topics = "${spring.rocketmq.consumer.topics}")
public void consumeMessage(String message) {
System.out.println("Received message: " + message);
}
}
```
在这个类中,我们使用`@KafkaListener`注解来监听指定的Topic。当有消息到达时,`consumeMessage`方法会被调用。
阅读全文