調試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加了雙引號
    在這裏插入圖片描述

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