com.alibaba.rocketmq.client.exception.MQClientException: No route info of this topic, topic
相信大家在学习使用RocketMQ的时候遇到了跟我一样的坑,网上找到的很多教程都是基于linux环境下的,而在Windows环境下的RocketMQ的java代码实现demo,让我折腾了很久:
首先贴出报错日志:
com.alibaba.rocketmq.client.exception.MQClientException: No route info of this topic, topic_orderCreate
See ;topic_not_exist for further details.at com.alibaba.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:542)at com.alibaba.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1030)at com.alibaba.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:989)at com.alibaba.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:90)at com.wj.rocketmq.Producer.main(Producer.java:29)
这是我在IDEA中写了Producer和Consumer代码,然后启动namesrv.cmd和mqbocker.cmd后程序报错日志。
错误提示
在windows下习惯性的操作认为只需要启动namesrv.cmd和mqbocker.cmd就够了,但在这里并不是,之所以报错No route info of this topic, topic_orderCreate
,很可能是因为bocker没有成功链接到namesrv,解决办法如下:
第一步:正常进入RocketMQ的bin目录,点击namesrv.cmd,如下所示即为成功:
**第二步:**此处注意:
调出cmd窗口,进入bin目录,执行如下命令:mqbroker -n 127.0.0.1:9876
此时再运行java代码,生产者和消费者成功启动。
完整代码下载(my_rocket_demo):.git
孰能生巧,厚积薄发!