Rocketmqソースコード解析とインポート

Rocketmqソースコンパイラの実行

ダウンロード

githubのからも、もっとゆっくり、ソースコードをダウンロードgiteeのダウンロード

ソースディレクトリ構造

名前 効果
ブローカ ブローカモジュール:C pおよびエンドメッセージストアロジック
クライアント クライアントAPI:生産、消費者の受け入れと送信側のAPI
一般 共通コンポーネント:定数、基本クラス、データ構造
ツール 運用・保守ツール:コマンドラインツールモジュール
お店 メモリー・モジュール:メッセージインデックス、commitlogストレージ
namesrv サービス管理モジュール:サービス登録情報記憶トピック
リモーティング リモート通信モジュール:ネッティー+ fastjson
logappender ログ適応モジュール
デモ列子
filtersrv メッセージフィルタモジュール
srvutil 補助モジュール
フィルタ フィルタモジュール:メッセージ・フィルタリング・モジュール
分布 郵便番号に関連した展開、運用・保守
openmessaging 互換性のあるopenmessaging分散メッセージングモジュール

コンパイル

解凍インポートアイデア、コンフィギュレーション・ファイルのpom.xmlを修正し、バージョン1.8をコンパイルしたJDK
ここに画像を挿入説明

# 编译
mvn -Prelease-all -DskipTests clean install -U

スタートnamesrv

org.apache.rocketmq.namesrv.NamesrvStartupを入力し、mainメソッドを実行

設定ファイルへのパスの設定が存在しないので、エラーがスローされますROCKETMQ_HOME

Please set the ROCKETMQ_HOME variable in your environment to match the lo
cation of the RocketMQ installation  

ここに画像を挿入説明

コードの位置org.apache.rocketmq.namesrv.NamesrvStartup#createNamesrvController、ソース、増加構成rocketHomeを変更

RocketHomeはのVM実行コンフィギュレータのアイデアのための設定パラメータで、ブートパラメータを変更することによって提供することができます

-Drocketmq.home.dir = D:\コード\ java_yuanma \ rocketmq \分布

また、ログファイルのパスを指定する、のuser.homeを設定する必要があります

-Duser.home=D:\code\java_yuanma\rocketmq\user.home

还需要配置namesrv的ip和port

ここに画像を挿入説明

然后运行NamesrvStartup#main启动namesrv

/ 2019 /%E4%B9%A6 /%E7%AC%94%:[失敗投棄外国チェーンの写真は、発信局は、直接アップロード(IMG-0ncNb2iI-1578200015945)(Fダウン画像を保存することが推奨され、セキュリティチェーン機構を有していてもよいですE8%AE%B0%E6%95%B4%E7%90%862 / rocketmq /思想%E8%B0%83%E8%AF%95rocketmq%E6%BAの%90%E7%A0%81.assets /イメージ - 20191113161603998.png)]

控制台出现上图结果,启动成功

启动broker

进入org.apache.rocketmq.broker.BrokerStartup,可以执行main方法,同样需要先配置rocketHome

在org.apache.rocketmq.broker.BrokerStartup#createBrokerController中修改源码,增加rocketHome的配置

/ 2019 /%E4%B9%A6 /%E7%AC%94%:[失敗投棄外国チェーンの写真は、発信局は、(IMG-keDbDiZZ-1578200015946)(F直接アップロードダウン画像を保存することが推奨され、セキュリティチェーン機構を有していてもよいですE8%AE%B0%E6%95%B4%E7%90%862 / rocketmq /思想%E8%B0%83%E8%AF%95rocketmq%E6%BAの%90%E7%A0%81.assets /イメージ - 20191113161934004.png)]

也可以通过修改启动参数设置rocketHome, 在idea的run configurators中配置 VM参数为

-Drocketmq.home.dir=D:\code\java_yuanma\rocketmq\distribution

同时还需要设置user.home,指定日志文件路径

-Duser.home=D:\code\java_yuanma\rocketmq\user.home

还需要配置程序参数

‐n 127.0.0.0:9876 -c D:\code\java_yuanma\rocketmq\distribution\conf\broker.conf

/ 2019 /%E4%B9%A6 /%E7%AC%94%:[失敗投棄外国チェーンの写真は、発信局は、直接アップロード(IMG-4q0fckkH-1578200015946)(Fダウン画像を保存することが推奨され、セキュリティチェーン機構を有していてもよいですE8%AE%B0%E6%95%B4%E7%90%862 / rocketmq /思想%E8%B0%83%E8%AF%95rocketmq%E6%BAの%90%E7%A0%81.assets /イメージ - 20191113162243329.png)]

然后运行BrokerStartup#main启动broker

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ohWxpbgo-1578200015947)(F:/2019/%E4%B9%A6/%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%862/rocketmq/idea%E8%B0%83%E8%AF%95rocketmq%E6%BA%90%E7%A0%81.assets/image-20191113162341378.png)]控制台出现上图结果,启动成功

如果出现以下情况,ip不对,是因为多网卡的问题

在这里插入图片描述

这时需要修改D:\code\java_yuanma\rocketmq\distribution\conf\broker.conf 此配置文件

增加brokerIP1 = 127.0.0.1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MOBRa8ul-1578200015948)(F:/2019/%E4%B9%A6/%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%862/rocketmq/idea%E8%B0%83%E8%AF%95rocketmq%E6%BA%90%E7%A0%81.assets/image-20191113162710590.png)]

测试

启动Producer发消息,成功

如果出现No Topic Route Info 错误:

broker.conf 中增加配置

autoCreateTopicEnable = true
namesrvAddr = 127.0.0.1:9876
发布了241 篇原创文章 · 获赞 305 · 访问量 54万+

おすすめ

転載: blog.csdn.net/HarderXin/article/details/103842062