RocketMQ 源码分析(一)搭建 RocketMQ 源码并且本地运行

1 拉取代码

首先从 git 仓库中获取 rocketmq 源码,然后切换分支到 4.3

2 编译项目

在根目录下,将 pom 文件中的插件进行删除,分别是 maven-checkstyle-plugin,maven-failsafe-plugin,maven-gpg-plugin 这三个插件,接着执行 mvn clean install -Dmaven.test.skip=true, 不删除插件,则执行这一步时,会报错。

3 添加配置文件

接着在 rocketmq 根目录创建conf 文件夹,用于后面的broker 启动配置。conf 中的文件来自 distribution/conf 下,选择 broker.conf,logback_broker.xml,logback_namesrv.xml 然后将它们复制到起初创建的 conf 文件夹下。并且 broker.conf 中添加如下代码:

# namesrvAddr地址
namesrvAddr=127.0.0.1:9876
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable=true
autoCreateTopicEnable=true

# 存储路径
storePathRootDir=D:\\IDEA Project\\Rule\\rocketmq\\data\\rocketmq\\dataDir
# commitLog路径
storePathCommitLog=D:\\IDEA Project\\Rule\\rocketmq\\data\\rocketmq\\dataDir\\commitlog
# 消息队列存储路径
storePathConsumeQueue=D:\\IDEA Project\\Rule\\rocketmq\\data\\rocketmq\\dataDir\\consumequeue
# 消息索引存储路径
storePathIndex=D:\\IDEA Project\\Rule\\rocketmq\\data\\rocketmq\\dataDir\\index
# checkpoint文件路径
storeCheckpoint=D:\\IDEA Project\\Rule\\rocketmq\\data\\rocketmq\\dataDir\\checkpoint
# abort文件存储路径
abortFile=D:\\IDEA Project\\Rule\\rocketmq\\data\\rocketmq\\dataDir\\abort

最终效果如下:

4 启动项目

4.1 启动 namesrv

启动 NamesrvStartup,并且添加环境变量 ROCKETMQ_HOME=D:\IDEA Project\Rule\rocketmq,如下

运行成功的界面如下:

4.2 启动 broker

启动 BrokerStartup ,按照 namesrv 启动进行配置,然后再添加启动参数 -c D:\IDEA Project\Rule\rocketmq\conf\broker.conf
配置和运行成功界面如下,必须出现配置的 namesrv 地址,则表示成功,否则表示连接 namesrv 失败。

4.3 启动 consumer

启动 example 模块下 quickstart 包下的 Consumer 消费消息类。修改namesrv 的地址,

4.4 启动 producer

同样启动 example 模块下 quickstart 包下的 Producer 生产消息类,设置 namesrv 地址,随后启动则会发送消息,消息的 topic 为 TopicTest

4.5 消息消费

按照上面两步进行启动 rocketmq 的消息消费者和生产者,生产者则会发送消息,同时消费者则会接收到消息,结果如下。

猜你喜欢

转载自blog.csdn.net/LarrYFinal/article/details/121452047