最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Idea調(diào)試RocketMQ源碼教程

 更新時(shí)間:2022年11月16日 09:05:28   作者:夢(mèng)想實(shí)現(xiàn)家_Z  
這篇文章主要為大家介紹了使用Idea調(diào)試RocketMQ源碼教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

為了更好地了解RocketMQ,我打算看一看它的源碼了。隨著RocketMQ5.0版本的發(fā)布,應(yīng)該有更多小伙伴在實(shí)際應(yīng)用中選擇RocketMQ。那么我們就從這一篇文章開始,逐步來(lái)了解RocketMQ的神秘源碼吧!接下來(lái)我們先把調(diào)試環(huán)境搭建好。

下載源碼

源碼地址:github.com/apache/rock…

我們先把RocketMQ源碼下載下來(lái),為了方便一點(diǎn),建議小伙伴先f(wàn)ork到自己的倉(cāng)庫(kù),然后再通過(guò)git拉下來(lái)。

導(dǎo)入idea

我們通過(guò)idea把下載的源碼導(dǎo)入:

有任何報(bào)紅或者錯(cuò)誤先不用管。

代碼編譯

不要直接打開namesrv找到main函數(shù)就運(yùn)行,這樣是跑不起來(lái)的,會(huì)產(chǎn)生以下錯(cuò)誤:

我們找到源碼所在的本地目錄,或者直接在項(xiàng)目中打開Terminal:

首先執(zhí)行java -version檢查安裝的java版本,建議該版本不能超過(guò)java 11,測(cè)試下來(lái)java 17是編譯不了的。

如果版本沒問(wèn)題的話,執(zhí)行mvn clean install -DskipTests編譯該項(xiàng)目。

編譯成功后,結(jié)果如下:

運(yùn)行namesrv

設(shè)置ROCKETMQ_HOME

在啟動(dòng)namesrv之前,我們要先設(shè)置以下對(duì)應(yīng)的環(huán)境變量ROCKETMQ_HOME,這個(gè)變量可以直接在啟動(dòng)配置里面設(shè)置。namesrv在啟動(dòng)的時(shí)候就會(huì)去ROCKETMQ_HOME/conf里面去找相應(yīng)的配置,比如logback_namesrv.xml

  • 添加logback_namesrv.xml
  • 我們拉下來(lái)的項(xiàng)目中已經(jīng)有現(xiàn)成的logback_namesrv.xml,所以我們只需要拷貝一下。從distribution/conf里面就可以找到logback_namesrv.xml,直接拷貝到我們指定的ROCKETMQ_HOME/conf路徑中。

啟動(dòng)

直接在idea中點(diǎn)擊run或者debug啟動(dòng)namesrv服務(wù)。

啟動(dòng)broker

設(shè)置環(huán)境變量ROCKETMQ_HOME和配置文件

同樣的我們需要設(shè)置環(huán)境變量ROCKETMQ_HOME,目的和namesrv一樣,是為了讀取日志配置文件;另一個(gè)-c xx/xx/broker.conf是為了指定服務(wù)的配置文件。

配置文件

我們的broker啟動(dòng)需要兩個(gè)配置文件,一個(gè)是日志配置文件logback_broker.xml,一個(gè)是broker.conf配置。這兩個(gè)配置文件我們都可以從項(xiàng)目中的distribution/conf中找到,我們把找到的兩個(gè)文件放到指定的路徑下。broker.conf文件需要做一些簡(jiǎn)單的修改:

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# namesrv服務(wù)地址
namesrvAddr = 127.0.0.1:9876
# 運(yùn)行自動(dòng)創(chuàng)建topic,避免調(diào)試的時(shí)候麻煩
autoCreateTopicEnable = true
# 數(shù)據(jù)存儲(chǔ)路徑
storePathRootDir = /Users/zouwei/Documents/projects/github_project/rocketmq/data_store
# commitlog存儲(chǔ)文件
storePathCommitLog = /Users/zouwei/Documents/projects/github_project/rocketmq/data_store/commitlog
# 消費(fèi)隊(duì)列存儲(chǔ)文件
storePathConsumeQueue = /Users/zouwei/Documents/projects/github_project/rocketmq/data_store/consumequeue
# 索引存儲(chǔ)文件
storePathIndex = /Users/zouwei/Documents/projects/github_project/rocketmq/data_store/index
# checkpoint存儲(chǔ)文件
storeCheckpoint = /Users/zouwei/Documents/projects/github_project/rocketmq/data_store/checkpoint
# abort文件
abortFile = /Users/zouwei/Documents/projects/github_project/rocketmq/data_store/abort

小伙伴們需要根據(jù)自己的實(shí)際情況來(lái)修改上述配置。

啟動(dòng)broker

接下里,我們就可以通過(guò)idea來(lái)啟動(dòng)broker了,點(diǎn)擊run或者debug按鈕,最后broker啟動(dòng)成功。

為了更好地看到啟動(dòng)效果和相關(guān)配置,小伙伴們可以適當(dāng)修改一下logback_broker.xml

    <logger name="RocketmqBroker" additivity="false">
        <level value="INFO"/>
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="RocketmqBrokerAppender"/>
    </logger>

RocketmqBroker里面加上<appender-ref ref="STDOUT"/>,這樣我們就可以在控制臺(tái)中看到相關(guān)的日志了。

小結(jié)

至此,我們就完成了通過(guò)idea把RocketMQ項(xiàng)目導(dǎo)入并運(yùn)行起來(lái)的操作,里面確實(shí)有一些比較小的坑,大概總結(jié)一下:

1.代碼拉下來(lái)后不能直接運(yùn)行,需要通過(guò)mvn clean install -DskipTests編譯后才能運(yùn)行,否則報(bào)錯(cuò);

2.在編譯前需要檢查java版本,不能是過(guò)高的版本,比如java 17;

3.編譯完成后,需要在啟動(dòng)配置中指定相關(guān)的環(huán)境變量ROCKETMQ_HOME,該變量是為了namesrvbroker服務(wù)找到日志配置文件;broker服務(wù)還要指定broker.conf配置文件;

4.broker服務(wù)最好配置一下autoCreateTopicEnable = true,避免后續(xù)調(diào)試的時(shí)候不方便;

5.所有的配置文件在拉下來(lái)的代碼中都可以找到,相關(guān)路徑為distribution/conf

6.把日志輸出到控制臺(tái)可以更好地了解服務(wù)啟動(dòng)的狀態(tài);

以上就是使用Idea調(diào)試RocketMQ源碼教程的詳細(xì)內(nèi)容,更多關(guān)于Idea調(diào)試RocketMQ源碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 自動(dòng)運(yùn)行 screen 任務(wù)詳解

    自動(dòng)運(yùn)行 screen 任務(wù)詳解

    這篇文章主要為大家介紹了自動(dòng)運(yùn)行 screen 任務(wù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • VScode連接遠(yuǎn)程服務(wù)器踩坑實(shí)戰(zhàn)記錄(新版離線vscode-server安裝)

    VScode連接遠(yuǎn)程服務(wù)器踩坑實(shí)戰(zhàn)記錄(新版離線vscode-server安裝)

    本文主要介紹了如何使用VScode連接遠(yuǎn)程服務(wù)器,并對(duì)離線安裝vscode-server進(jìn)行了詳細(xì)的操作步驟說(shuō)明,其中包括VScode擴(kuò)展的安裝與配置,vscode-server的離線下載,文件的解壓縮和移動(dòng),以及VScode的一些更新設(shè)置,能夠幫助讀者更好地理解和掌握VScode連接遠(yuǎn)程服務(wù)器的方法
    2024-10-10
  • Linux下Web網(wǎng)站壓力測(cè)試工具Webbench使用教程

    Linux下Web網(wǎng)站壓力測(cè)試工具Webbench使用教程

    webbench最多可以模擬3萬(wàn)個(gè)并發(fā)連接去測(cè)試網(wǎng)站的負(fù)載能力,個(gè)人感覺要比Apache自帶的ab壓力測(cè)試工具好,安裝使用也特別方便。
    2014-11-11
  • 服務(wù)器安裝conda環(huán)境遇到代理PROXY問(wèn)題及解決方案

    服務(wù)器安裝conda環(huán)境遇到代理PROXY問(wèn)題及解決方案

    這篇文章主要為大家介紹了服務(wù)器安裝conda環(huán)境遇到代理PROXY問(wèn)題及解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 關(guān)于HTTPS端口443的技術(shù)講解(什么是443端口)

    關(guān)于HTTPS端口443的技術(shù)講解(什么是443端口)

    本文將重點(diǎn)介紹HTTPS 443端口,它是如何工作的,它保護(hù)什么,以及為什么我們需要它,需要的朋友可以參考下
    2022-10-10
  • ubuntu 服務(wù)器中文亂碼問(wèn)題的解決方法

    ubuntu 服務(wù)器中文亂碼問(wèn)題的解決方法

    這篇文章主要介紹了ubuntu 服務(wù)器中文亂碼問(wèn)題的解決方法,需要的朋友可以參考下
    2018-03-03
  • 基于postman實(shí)現(xiàn)http接口測(cè)試過(guò)程解析

    基于postman實(shí)現(xiàn)http接口測(cè)試過(guò)程解析

    這篇文章主要介紹了基于postman實(shí)現(xiàn)http接口測(cè)試過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • CentOs7搭建基于pptp的VPN服務(wù)器

    CentOs7搭建基于pptp的VPN服務(wù)器

    最近想遠(yuǎn)程連接一下家里的臺(tái)式機(jī)電腦,由于都是局域網(wǎng),又沒有公網(wǎng)ip,所以就沒法遠(yuǎn)程,上網(wǎng)查了一下,發(fā)現(xiàn)可以在云服務(wù)器上搭建一個(gè)VPN,這樣兩臺(tái)電腦就在同一個(gè)局域網(wǎng)內(nèi),就可以完美解決這個(gè)問(wèn)題,現(xiàn)在把搭建方法和遇到的問(wèn)題做個(gè)總結(jié),感興趣的朋友一起看看吧
    2023-11-11
  • SSH證書登錄方法詳細(xì)教程

    SSH證書登錄方法詳細(xì)教程

    SSH是服務(wù)器登錄工具,密碼登錄和密鑰登錄,都有各自的缺點(diǎn)。SSH還有第三種登錄方法,那就是證書登錄。很多情況下,它是更合理、更安全的登錄方法,本文介紹證書登錄的方法,需要的朋友可以參考下
    2022-12-12
  • 服務(wù)被挖礦程序minerd入侵的快速解決方法

    服務(wù)被挖礦程序minerd入侵的快速解決方法

    今天一早過(guò)來(lái),運(yùn)維同事發(fā)現(xiàn)服務(wù)器的負(fù)載有點(diǎn)異常,打開top一看,發(fā)現(xiàn)有個(gè)進(jìn)程一直占用很高的cpu,這篇文章主要介紹了關(guān)于服務(wù)被挖礦程序minerd入侵解決方法,需要的朋友可以參考下
    2023-11-11

最新評(píng)論

枣阳市| 梁山县| 绍兴市| 巴里| 龙岩市| 界首市| 疏附县| 什邡市| 嘉峪关市| 罗平县| 乌苏市| 昌图县| 景谷| 鹤庆县| 南通市| 开江县| 宝清县| 高密市| 长寿区| 阿城市| 花莲市| 阳曲县| 麦盖提县| 藁城市| 星子县| 昆山市| 西贡区| 会同县| 兴安县| 镇安县| 东乡县| 昌都县| 玛曲县| 西城区| 平昌县| 绥宁县| 广饶县| 那曲县| 朝阳县| 子长县| 上犹县|