1. 获取RocketMQ源码
RocketMQ原先是阿里巴巴内部使用的消息中间件,于2017年提交到Apache基金会成为Apache基金会的顶级开源项目,GitHub代码库链接:https://github.com/apache/rocketmq.git.在Github网站上搜索RocketMQ,如图所示.

克隆源码,命令如下
git clone https://github.com/apache/rocketmq.git
克隆完成后,在IntelliJ IDEA打开
导入成功后,效果如图所示

执行maven clean install 进行编译和下载依赖
下载完成后,控制台提示BUILD SUCCESS信息
2. 在IntelliJ IDEA调试RocketMQ源码
(1) 启动NameServer
- 展开namesrc模块,右键NamesrvStartup.java,移动到Debug As,选中Debug ‘NamesrvStartup.java.main()’
- 点击Environment variables后面的按钮,弹出Environment variables对话框
- 点击+号,在Name输入框中输入ROCKETMQ_HOME,Value输入源码的保存路径,点击OK即可
- 在RocketMQ运行主目录创建conf、logs、store三个文件夹
- 在RocketMQ distribution部署目录中将broker.conf、logback_broker.xml文件复制到conf目录中,logback_namesrv.xml文件,只需修改日志文件的目录,brocker.conf文件目录内容代码如下所示
1 | |
- 在IntelliJ IDEA Debug中运行NamesrvStartup,并输出“The Name Server boot success.Serializetype=JSON”
(2) 启动Broker
-
展开broker模块,右键BrokerStartup.java执行,会提示需要配置ROCKETMQ_HOME。在idea右上角选中Debug Configurations,
在弹出的对话框中选择arguments选项,配置-c属性指定broker配置文件路径

-
切换选项卡Environment,配置ROCKETMQ_HOME主目录和broker配置文件

- 以debug模式运行BrokerStartup.java,查看${ROCKETMQ_HOME}/logs/broker.log文件,未报错则表示启动成功
(3) 使用RocketMQ提供的实例验证消息发送与消息消费
- 修改org.apache.rocketmq.example.quickstart.Producer示例程序,设置消息生产者NameServer地址
1 | |
- 运行示例程序,查看运行结果,如有输出sendStatus=SEND_OK则表示消息发送成功
- 修改org.apache.rocketmq.example.quickstart.Consumer示例程序,设置消息消费者NameServer地址
1 | |
- 运行消费者程序
消息发送与消息消费都成功,则说明RocketMQ调试环境已成功搭建,可以通过Debug调试源码,探索RocketMQ的奥秘了。