Alibaba RocketMQ已经迁移到了Apache 下面:git
https://github.com/apache/incubator-rocketmq.gitgithub
若是但愿阅读Alibaba原版的RocketMQ代码,看到不少网站上的给的链接都是这个地址apache
git clone https://github.com/alibaba/RocketMQ.git
,可是实际点击进去是404,已经下载不到原来的代码了。本文提出另一种方式下载源码:网站
https://gitee.com/mirrors/rocketmq clone 到本地:ui
而后 经过版本回退,能够到任意指定的版本,本文是到了3.4.6版本,使用以下命令:this
git reset --hard 03c1ad102 便可阅读阿里原版的3.4.6版本的RocketMQ代码。spa
2、RocketMQ第一个例子.net
com.alibaba.rocketmq.namesrv.NamesrvStartup 这个类,须要设置参数,注意将参数替换成具体的位置:code
-Drocketmq.home.dir=/Users/xxx/alibaba-rocketMQ-3.4.6 -Duser.home=/Users/xxx/alibaba-rocketMQ-3.4.6/userhome
com.alibaba.rocketmq.broker.BrokerStartup这个类,须要设置参数,以下所示:blog
-Drocketmq.home.dir=/Users/xxx/alibaba-rocketMQ-3.4.6 -Duser.home=/Users/xxx/alibaba-rocketMQ-3.4.6/userhome -Drocketmq.namesrv.addr=127.0.0.1:9876
其中namesvr的地址必须配置正确,还有一种配置方式是在输入参数中传入:
-n 127.0.0.1:9876
若是这里的namesvr设置不对,会出现No route info of this topic, TopicTest 的错误
com.alibaba.rocketmq.example.simple.PushConsumer这个类:
须要设置namesvr的地址:
consumer.setNamesrvAddr("127.0.0.1:9876");
以及参数配置:
-Drocketmq.home.dir=/Users/xxx/alibaba-rocketMQ-3.4.6 -Duser.home=/Users/xxx/alibaba-rocketMQ-3.4.6/userhome
com.alibaba.rocketmq.example.quickstart.Producer这个类:
设置namesvr的地址:
producer.setNamesrvAddr("127.0.0.1:9876");
配置参数:
-Drocketmq.home.dir=/Users/xxx/alibaba-rocketMQ-3.4.6 -Duser.home=/Users/xxx/alibaba-rocketMQ-3.4.6/userhome
最终看到的结果是:
注意top要一一对应,才能看到发送成功,而且消费成功。
参考文献:
https://blog.csdn.net/a2888409/article/details/53781766