0


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

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

下面贴了如下结构的代码

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

  1. @Component
  2. @RocketMQMessageListener(topic = "",consumerGroup="group1")
  3. public class MessageListener1 implements RocketMQListener<String>, RocketMQPushConsumerLifecycleListener {
  4. @Override
  5. public void onMessage(String str) {
  6. }
  7. @Override
  8. public void prepareStart(DefaultMQPushConsumer consumer) {
  9. try{
  10. consumer.subscribe("topic-a","*");
  11. consumer.subscribe("topic-b","*");
  12. consumer.registerMessageListener((List<MessageExt> messages, ConsumeConcurrentlyContext context) -> {
  13. if (CollectionUtils.isNotEmpty(messages)) {
  14. for (MessageExt message : messages) {
  15. System.out.println(Thread.currentThread().getName()+"消费完成:"+message.getTopic()+ new String(message.getBody()));
  16. }
  17. }
  18. return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
  19. });
  20. }catch (MQClientException e){
  21. e.printStackTrace();
  22. }
  23. }
  24. }

结果:


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

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

还没有评论