天坑
网上找了半天,启动broker的时候设置autoCreateTopicEnable=true没有用
调试,最后发现rocketmq的版本和rocketmq client的版本不一致导致
使用的rocketmq的版本是4.3.0,java client端版本不对
rocketmq 的 4.3.0版本的自动创建(autoCreateTopicEnable),客户端传递使用的AUTO_CREATE_TOPIC_KEY_TOPIC是”AUTO_CREATE_TOPIC_KEY”
而使用旧版本的client,客户端传递的默认AUTO_CREATE_TOPIC_KEY_TOPIC是“TBW102”
因此,需检查两者的版本是否能对上
替换client的版本
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.3.0</version>
</dependency>
或者修改以下的值
DefaultMQProducer producer = new DefaultMQProducer("please_rename_unidcque_group_name");
//设置自动创建topic的key值
producer.setCreateTopicKey("AUTO_CREATE_TOPIC_KEY");