rocketmq-spring
rocketmq-spring copied to clipboard
Support Thrid part SDK DefaultMQProducer bean
有些特殊场景想问下能不能支持,所以重新描述下这个问题,事情是这样的,我这里遇到一个特殊的场景,在使用rocketmq-spring时引入了一个外部的SDK jar包这个包自己使用了原生的初始化了DefaultMQProducer 并且在spring容器里,导致报错:Caused by: org.apache.rocketmq.client.exception.MQClientException: The producer service state not OK, maybe started once, RUNNING
@Configuration
public class Config {
@Bean
public DefaultMQProducer defaultMQProducer() {
DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name");
try {
producer.start();
} catch (MQClientException e) {
e.printStackTrace();
}
return producer;
}
}
大致原因是三方的SDK里自己注入了DefaultMQProducer的spring bean并且start了客户端。 能否给rocketmq-spring default producer设置一个独有的instanceName 或者bean Name屏蔽这个问题?