调试RocketMQ源码

  1. 拷贝namesrvbroker的配置文件到指定目录,为了避免直接修改代码中的配置文件。
    1.1 在F盘创建rocketmq文件夹,创建三个子文件夹conflogsstore,我的代码中多了dev data的文件夹
    1.2 将distribution源码conf目录下的broker.conflogback_broker.xmllogback_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.xmllogback_broker.xml,将文件中的${user.home}改成你新建的rocketmq的目录,否则日志文件会在你C盘用户目录下创建
    1.5 修改logback_namesrv.xmllogback_broker.xml中的logger,在root标签中引入STDOUTappender,并把所有logger中的additivity改为true,这样所有日志才会在ideaconsole中打印,否则没有日志输出

    <root>
    	<level value="INFO"/>
    	<appender-ref ref="STDOUT"/>
    	……
    </root>
    
  2. 启动org.apache.rocketmq.namesrv.NamesrvStartup,指定Environment variables的值:ROCKETMQ_HOME=F:\\dev data\\rocketmq
    在这里插入图片描述

  3. 启动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加了双引号
    在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章