【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

浙公网安备 33010602011771号