Springboot RocketMQ 多消费者配置文件
时间: 2025-01-08 13:14:23 浏览: 5
### Spring Boot 中配置多个 RocketMQ 消费者的示例
在 Spring Boot 应用程序中配置多个 RocketMQ 消费者可以通过定义多个 `@RocketMQMessageListener` 注解来实现。每个消费者监听不同的主题或标签,从而处理不同类型的消息。
#### 配置多个 RocketMQ 消费者
为了支持多消费者场景,在应用程序中可以创建多个消息监听器类,并通过 `@RocketMQMessageListener` 来指定各自的主题和消费组:
```java
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;
@Service
@RocketMQMessageListener(topic = "TopicTest", consumerGroup = "consumer-group-1")
public class ConsumerServiceOne implements RocketMQListener<String> {
@Override
public void onMessage(String message) {
System.out.println("Received message by Consumer One: " + message);
}
}
```
对于第二个消费者,则只需更改相应的参数即可:
```java
@Service
@RocketMQMessageListener(topic = "AnotherTopic", consumerGroup = "another-consumer-group")
public class AnotherConsumerService implements RocketMQListener<String> {
@Override
public void onMessage(String message) {
System.out.println("Received message by Another Consumer: " + message);
}
}
```
上述两个服务实例分别订阅了不同的话题并属于各自的消费群组[^1]。
此外,还可以在同一话题下设置不同的标签(tag),以便更细粒度地区分消息类别:
```java
@RocketMQMessageListener(
topic = "SharedTopic",
consumerGroup = "shared-topic-consumers",
selectorExpression = "TagA || TagB"
)
```
此方式允许同一话题下的多种类型消息被特定条件筛选后的子集所接收。
阅读全文