小刘老师源码课程笔记
下载源码
源码地址 github.com/apache/rock… 版本 release-4.9.0
首先fork一份源码,最新的就行,然后把fork的代码clone的本地,然后就随你折腾了。
配置项目
调整idea
将项目的编译级别跳到11,否则编译不过去,无法启动
配置conf
在项目路径下创建conf目录,将distribution模块下conf目录下的broker.conf,logback_broker.xml,logback_namesrv.xml复制到conf目录下。
修改broker.conf
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
##############下面这些是新加的
#D:\OneDrive\study\sourceCode\java\rocketmq\data。这个目录是用来存消息的,可以自定义。
#nameServer 地址,使用分号隔开
namesrvAddr=127.0.0.1:9876
#存储路径
storePathRootDir=D:\OneDrive\study\sourceCode\java\rocketmq\data
#commitLog存储路径
storePathCommitLog=D:\OneDrive\study\sourceCode\java\rocketmq\data\commitlog
#消费队列存储路径
storePathConsumeQueue=D:\OneDrive\study\sourceCode\java\rocketmq\data\consumequeue
#消息索引存储路径
storePathIndex=D:\OneDrive\study\sourceCode\java\rocketmq\data\index
#checkpoint 文件存储路径
storeCheckpoint=D:\OneDrive\study\sourceCode\java\rocketmq\data\checkpoint
#abort 文件存储路径
abortFile=D:\OneDrive\study\sourceCode\java\rocketmq\data\abort
修改logback_broker.xml,logback_namesrv.xml
将 ${user.home}
改成路径,类似D:\OneDrive\study\sourceCode\java\rocketmq\
这样就行。不写的话会到环境变量里找。写到c盘会占你硬盘。
启动项目
启动nameserver
第一次启动会失败,需要添加一个env参数。
ROCKETMQ_HOME
对应你的项目路径
启动成功就是这样的
启动broker
同样需要添加一个env参数。
ROCKETMQ_HOME
对应你的项目路径。还需要一个program参数指向conf目录下的broker.conf文件-c D:\OneDrive\study\sourceCode\java\rocketmq\conf\broker.conf
启动成功
测试项目
在example模块下
org.apache.rocketmq.example.quickstart
有生成者和消费者示例,可以启动试试。需要添加一下nameserver的地址。能够生产消息和消费消息就表示环境成功了。