有那位大佬,Apache RocketMQ中遇到过这个错吗[阿里云消息队列MQ]

问题1:有那位大佬,Apache RocketMQ中遇到过这个错吗 :RocketMQTemplate startup failed, Caused by The producer group[register_group] has been created before, specify another name please.2023-04-25 15:11:12.617 ERROR [api,3e06f80ba19fdd93,e0b22b69e446a822] traceId:[3e06f80ba19fdd93] 13 — [ scheduling-1] c.a.c.s.b.r.i.RocketMQMessageHandler : RocketMQTemplate startup failed, Caused by The producer group[register_group] has been created before, specify another name please. See http://rocketmq.apache.org/docs/faq/ for further details. 2023-04-25 15:11:12.617 ERROR [api,3e06f80ba19fdd93,e0b22b69e446a822] traceId:[3e06f80ba19fdd93] 13 — [ scheduling-1] o.s.cloud.stream.binding.BindingService : Failed to create producer binding; retrying in 30 seconds

org.springframework.messaging.MessagingException: nested exception is org.apache.rocketmq.client.exception.MQClientException: The producer group[register_group] has been created before, specify another name please. See http://rocketmq.apache.org/docs/faq/ for further details. at com.alibaba.cloud.stream.binder.rocketmq.integration.RocketMQMessageHandler.start(RocketMQMessageHandler.java:116) at org.springframework.cloud.stream.binder.AbstractMessageChannelBinder.doBindProducer(AbstractMessageChannelBinder.java:248) at org.springframework.cloud.stream.binder.AbstractMessageChannelBinder.doBindProducer(AbstractMessageChannelBinder.java:91) at org.springframework.cloud.stream.binder.AbstractBinder.bindProducer(AbstractBinder.java:152) at org.springframework.cloud.stream.binding.BindingService.lambda$rescheduleProducerBinding$4(BindingService.java:343) at org.springframework.cloud.sleuth.instrument.async.TraceRunnable.run(TraceRunnable.java:63) 问题2:我们在配置里面是配了生产者组的名字的,我不太明白这儿为啥要换一个名字 我们用的是 spring-cloud-starter-stream-rocketmq,生产者这样配置的,两个生产服务跑在 k8s里面,按说是正常常规使用的,不知道为啥出现这个问题 就是 这个 start 方法执行了多次,然后生成的clientId是一样的, 拿到了之前的 MQClientInstance,然后在往里放 producer group,就重复了,按照现有的日志看是,偶尔发消息的时候,就会触发这个错误,然后消息就发失败了,不是每次发消息都出现

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 这个错误提示是因为在 RocketMQ 中已经存在一个生产者组名为 “register_group” 的生产者,因此无法再次创建同名的生产者组。可以尝试指定一个不同的生产者组名来创建生产者,或者删除已经存在的同名生产者组。

    具体操作可以参考以下步骤:

    1. 检查 RocketMQ 中是否已经存在同名的生产者组。可以通过控制台或者 RocketMQ 的命令行工具来查看生产者组列表。

    2. 如果已经存在同名的生产者组,可以删除该生产者组或者修改生产者组的名称。

    3. 如果要创建新的生产者组,可以在应用程序的配置文件中指定一个不同的生产者组名,如下所示:

    spring:  cloud:    stream:      rocketmq:        binder:          producer:            group: new_register_group

    1. 重新启动应用程序,RocketMQ 应该会自动创建一个新的生产者组,并使用指定的名称。
  2. 回答1:这个不是写了呀 生产者组的名字换一个 回答2:感觉像是同一个producer group的实例创建并注册了多次,producer start一次就行, 可能是某些bean被初始化了多次导致的, 可以debug下看看谁掉了start多次,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”