idea調(diào)式rocketmq源碼詳解

一、下載源碼 --- 目前是windows

進(jìn)入https://github.com/apache/rocketmq地址拿到rocketmq git的地址

image.png

打開idea 操作如下

image.png

image.png

等待代碼下載完畢后執(zhí)行 maven命令 mvn(maven) clean install,進(jìn)行編譯和下載依賴,當(dāng)看到控制臺(tái)BULID SUCCESS 信息,說明編譯成功,即可進(jìn)行下一步

二、啟動(dòng)namesrc和broker進(jìn)行消息的生產(chǎn)和消費(fèi)

  1. 啟動(dòng)namesrv
    image.png

    當(dāng)前頁(yè)右鍵后顯示如下圖,點(diǎn)擊debug 'NameSrvStartup.main()'
    image.png

    然后右上角操作如下
    image.png

    然后為當(dāng)前這個(gè)要執(zhí)行的main函數(shù)添加環(huán)境變量,如下圖
    image.png

    創(chuàng)建三個(gè)目錄如下圖
    image.png

    從distribution目錄下copy broker.conf、logback_broker.xml、logback_namesrc.xml文件到conf目錄下,見下圖
    image.png

    broker.conf文件代碼如下
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
#nameServer地址,分號(hào)分割
namesrvAddr = 127.0.0.1:9876
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
#存儲(chǔ)路徑
storePathRootDir = D:\\code\\own\\rocketmq\\storeOwn
#commitLog 存儲(chǔ)路徑
storePathCommitLog=D:\\code\\own\\rocketmq\\storeOwn\\commitLog
#消費(fèi)隊(duì)列存儲(chǔ)路徑
storePathConsumeQueue=D:\\code\\own\\rocketmq\\storeOwn\\consumequeue
#消息索引存儲(chǔ)路徑
storePathIndex=D:\\code\\own\\rocketmq\\storeOwn\\index
#checkpoint 文件存儲(chǔ)路徑
storeCheckPoint=D:\\code\\own\\rocketmq\\storeOwn\\checkpoint
#abort 文件存儲(chǔ)路徑
abortFile=D:\\code\\own\\rocketmq\\storeOwn\\abort

建議將logback_broker.xml、logback_namesrc.xml文件內(nèi)容中的根目錄改一下,方便看相關(guān)日志

image.png

運(yùn)行NamesrvStartup下的main函數(shù),輸出如下圖,說明啟動(dòng)成功
image.png

  1. 啟動(dòng)broker,流程和namesrv的啟動(dòng)差不多
    image.png

    image.png

    再次使用debug啟動(dòng)BrokerStartUp.main 函數(shù),顯示如下圖,啟動(dòng)成功
    image.png

    以下是borker的啟動(dòng)日志
    image.png
  2. 使用rocketmq 提供的示例代碼發(fā)送消息和消費(fèi)消息
    設(shè)置生產(chǎn)者、消費(fèi)者的namesrvAddr 端口默認(rèn)是9876,也可以自己設(shè)置
    [圖片上傳中...(image.png-3c5ec8-1551506179828-0)]

    image.png

    運(yùn)行生產(chǎn)者、消費(fèi)者,截圖如下,表示成功
    image.png

    image.png

接下來就可以隨意調(diào)試rocketmq的任意代碼了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最近在學(xué)習(xí)使用同事開發(fā)的日志框架,感覺對(duì)于logback除了基本的使用并沒有很深刻的了解,遂對(duì)debug過程做大概...
    Eshin_Ye閱讀 2,713評(píng)論 0 2
  • 1 架構(gòu)原理 1.1 應(yīng)用場(chǎng)景 只支持發(fā)布訂閱模式。 大數(shù)據(jù)量的消息堆積能力,最終數(shù)據(jù)是持久化到磁盤上,理論上無限...
    可笑可樂閱讀 9,624評(píng)論 0 2
  • 一、前言 Apache RocketMQ 是一個(gè)分布式消息中間件,其具有低延遲、高性能和可靠性、萬(wàn)億級(jí)容量、靈活的...
    阿里加多閱讀 1,830評(píng)論 0 3
  • 本文將對(duì)rocktmq-spring-boot的設(shè)計(jì)實(shí)現(xiàn)做一個(gè)簡(jiǎn)單的介紹,讀者可以通過本文了解將RocketMQ ...
    RocketMQ技術(shù)_寈峰閱讀 5,029評(píng)論 0 26
  • 雪至深 夜皆靜 吶喊在胸口蠢蠢欲動(dòng) 一燈 一影 思一人 循著窗 一簾的朦朧 各自夢(mèng)中 天不知何時(shí)會(huì)亮 人不知何時(shí)能...
    又一林閱讀 231評(píng)論 0 1

友情鏈接更多精彩內(nèi)容