0


springboot整合rocketmq:一个消费者组怎么订阅多个topic

    一个消费者组中的所有消费者订阅关系,可以多个topic,多个tag,但是必须一致,否则就倒沫子了,如下图:

下面贴了如下结构的代码

一个消费组(消费者)订阅多个topic的代码(只写了一个消费组的,其他类似):

@Component
@RocketMQMessageListener(topic = "",consumerGroup="group1")
public class MessageListener1 implements RocketMQListener<String>, RocketMQPushConsumerLifecycleListener {
    @Override
    public void onMessage(String str) {
    }

    @Override
    public void prepareStart(DefaultMQPushConsumer consumer) {
        try{
            consumer.subscribe("topic-a","*");
            consumer.subscribe("topic-b","*");
            consumer.registerMessageListener((List<MessageExt> messages, ConsumeConcurrentlyContext context) -> {
                    if (CollectionUtils.isNotEmpty(messages)) {
                        for (MessageExt message : messages) {
                            System.out.println(Thread.currentThread().getName()+"消费完成:"+message.getTopic()+ new String(message.getBody()));
                        }
                    }
                return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
                });
            }catch (MQClientException e){
            e.printStackTrace();
        }
    }
}

结果:


本文转载自: https://blog.csdn.net/weixin_38456989/article/details/127943679
版权归原作者 一条奶油狗 所有, 如有侵权,请联系我们删除。

“springboot整合rocketmq:一个消费者组怎么订阅多个topic”的评论:

还没有评论