一、环境搭建
1. 依赖工具
- JDK :1.8+
- Maven
- Intellij IDEA
二、拉取源码
git clone https://github.com/apache/rocketmq.git
1.源码目录结构
- broker:broker 启动进程
- client :消息客户端,包含消息得生产者、消费者相关的类
- common :公共包
- dev :开发者信息(非源代码)
- distribution:部署文件
- example: 样例代码
- filter:消息过滤相关基础类
- filtersrv:消息过滤服务器实现相关类
- logappender:日志实现相关类
- namesrv:NameServer 实现相关类(NameServer 启动进程)
- openmessageing:消息开放标准
- remoting:远程通信模块,基于Netty实现
- srcutil:服务工具类
- store:消息存储实现相关类
- style:chkekstyle相关实现
- test: 测试相关的类
- tools:工具类,监控命令相关实现类
- docs:rocketmq文档
三、编译源码
1、导入源码
把源码导入到idea工具中
2、编译
使用mvn clean install -Dmaven.test.skip=true,命令对源码进行编译
四、创建配置文件
在源码根目录中创建conf文件夹,并把distribution模块中的文件拷贝到conf文件夹中,主要为了broker启动时找配置文件
五、启动nameServer
nameServer启动入口是org.apache.rocketmq.namesrv.NamesrvStartup,直接启动会报错,需要配置环境变量ROCKETMQ_HOME=源码目录
六、启动broker
broker启动入口org.apache.rocketmq.broker.BrokerStartup,启动broker之前需要配置broker.conf文件位置
七、测试
使用example目录中的quickstart样例Producer/Consumer进行测试
在Producer和Consumer中设置NamesrvAddr地址,consumer.setNamesrvAddr("127.0.0.1:9876");
启动Consumer,然后启动Producer,启动成功会看到控制台上生产者输出的信息和消费者输出的信息。