前言
初学mq,一些概念的东西理解了,想要实践一下,跟着各种大佬们的博客进行学习。一步一步的操作,写prodcuer以及consumer之后,运行总是报错,耽误了非常久的时间。
解决过程
肯定起初以为代码有问题,找了好几个还是报错。于是自己写,仍然报错,然后分析原因:
个人理解MQ,首先发送消息这部分我认为可以理解为是客户端也就是用户,如果消费没有问题那么就是服务端的问题,服务端出问题就是安装环境的问题,但是安装环境也是一步一步安装的,确实正常。但是确实是在服务器端的问题!
解决方法
其实就是你将本地安装好的Nameser关闭或者将brocker关闭了,也就是执行完mqnamesrv.cmd以及mqbroker.cmd的命令之后的窗口被你关闭了。
总结:
感觉很薄弱呀,很简单的错误。
报错提示如下:
com.alibaba.rocketmq.client.exception.MQClientException: No route info for this topic, TopicTest
For more information, please visit the url, https://github.com/alibaba/RocketMQ/issues/48
at com.alibaba.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendSelectImpl(DefaultMQProducerImpl.java:874)
at com.alibaba.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:842)
at com.alibaba.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:836)
at com.alibaba.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:164)
at com.example.rocketmqdemo2.rocketMq.rocket.RocketMQProvider.defaultMQProducer(RocketMQProvider.java:61)
at com.example.rocketmqdemo2.rocketMq.controller.TestController.testMq(TestController.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.ja