【RocketMQ】RocketMQ启动创建消费者组失败

问题

  项目启动时,提示MQClientException,详情信息如下

org.apache.rocketmq.client.exception.MQClientException: The consumer group[state_change_callback_consumer_group] has been created before, specify another name please.

 

原因

  MQ在启动时,会自动创建消费者组去订阅对应的Topic,在同一个进程内,注册消费者组的时候会将消费者组作为key,消费者作为value存储到消费者缓存Map中
因此在同一个客户端实例中使用相同的消费组会提示 The consumer group has been created before, specify another name please

 

解决方案

  在项目启动时,手动指定当前服务RocketMQ客户端的实例名称,例如

@RocketMQMessageListener(
    consumerGroup = "desuo-dms",
    topic = "desuo_workflow_abc",
    selectorExpression = "PROCESS_STARTED"
)
@Service
public class ProcessStartedConsumer implements RocketMQListener<ProcessStarted>, RocketMQPushConsumerLifecycleListener {
 
    @Override
    public void onMessage(ProcessStarted message) {
        System.out.println("消息消费");
    }
 
    @Override
    public void prepareStart(DefaultMQPushConsumer consumer) {
        //设置当前实例的名称
        consumer.setInstanceName("这里保证不重复即可");
    }
}

 

参考

  https://blog.csdn.net/weixin_35973945/article/details/109102052?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-109102052-blog-103206574.pc_relevant_sortByAnswer&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-109102052-blog-103206574.pc_relevant_sortByAnswer&utm_relevant_index=1
  https://blog.csdn.net/uniquewonderq/article/details/103206574

posted @ 2022-07-28 19:59  听风是雨  阅读(5759)  评论(0)    收藏  举报
/* 看板娘 */