调试RocketMQ源码
拷贝
namesrv
、broker
的配置文件到指定目录,为了避免直接修改代码中的配置文件。
1.1 在F盘创建rocketmq
文件夹,创建三个子文件夹conf
、logs
、store
,我的代码中多了dev data
的文件夹
1.2 将distribution
源码conf
目录下的broker.conf
、logback_broker.xml
、logback_namesrv.xml
拷贝到新建的conf
目录下
1.3 修改拷贝的broker.conf
文件,如下所示,注意:一定要使用双斜杠\\
或者使用单斜杠/
,因为多了dev data
文件夹,中间有空格brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
namesrvAddr=127.0.0.1:9876
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
storePathRootDir=F:\\dev data\\rocketmq\\store
storePathCommitLog=F:\\dev data\\rocketmq\\store\\commitlog
storePathConsumeQueue=F:\\dev data\\rocketmq\\store\\consumequeue
storePathIndex=F:\\dev data\\rocketmq\\store\\index
storeCheckpoint=F:\\dev data\\rocketmq\\store\\checkpoint
abortFile=F:\\dev data\\rocketmq\\store\\abort
1.4 修改
logback_namesrv.xml
和logback_broker.xml
,将文件中的${user.home}
改成你新建的rocketmq
的目录,否则日志文件会在你C
盘用户目录下创建
1.5 修改logback_namesrv.xml
和logback_broker.xml
中的logger
,在root
标签中引入STDOUT
的appender
,并把所有logger
中的additivity
改为true
,这样所有日志才会在idea
的console
中打印,否则没有日志输出<root>
<level value="INFO"/>
<appender-ref ref="STDOUT"/>
……
</root>
- 启动
org.apache.rocketmq.namesrv.NamesrvStartup
,指定Environment variables
的值:ROCKETMQ_HOME=F:\\dev data\\rocketmq
- 启动
org.apache.rocketmq.broker.BrokerStartup
,指定Program arguments
的值:-c "F:\\dev data\\rocketmq\\conf\\broker.conf"
,指定Environment variables
的值:ROCKETMQ_HOME=F:\\dev data\\rocketmq
。注意:由于多了dev data
文件夹,中间有空格,所以Program arguments
加了双引号
还没有评论,来说两句吧...