【RocketMQ源码学习】RocketMQ源码学习之环境搭建
RocketMQ是开源的。
git地址:https://github.com/apache/rocketmq
注意:依赖环境:
JDK1.8+;maven;idea.
从git检出源码后,源码目录结构:
● broker: broker 模块(broke 启动进程) |
---|
● client :消息客户端,包含消息生产者、消息消费者相关类 |
● common :公共包 |
● dev :开发者信息(非源代码) |
● distribution :部署实例文件夹(非源代码) |
● example: RocketMQ 例代码 |
● filter :消息过滤相关基础类 |
● filtersrv:消息过滤服务器实现相关类(Filter启动进程) |
● logappender:日志实现相关类 |
● namesrv:NameServer实现相关类(NameServer启动进程) |
● openmessageing:消息开放标准 |
● remoting:远程通信模块,给予Netty |
● srcutil:服务工具类 |
● store:消息存储实现相关类 |
● style:checkstyle相关实现 |
● test:测试相关类 |
● tools:工具类,监控命令相关实现类 |
将源码导入到idea后,执行下面命令:
clean install -Dmaven.test.skip =true
源码调试:
需求:我们基于源码来实现一个消息发送和消息消费。
我们知道,正常RocketMQ部署顺序:启动NameServer、启动Broker、启动生成、启动消费者、发送消息,消费消息。
在进行源码调试之前,先在源码工程创建conf配置文件夹,配置信息从distribution拷贝brokrer.conf和logback_broker.xml及logback_namesrv.xml这三个文件到conf目录。
设置rocketmq的环境变量。不然会出现以下错误:
为什么要甚至rocketmq的环境变量ROCKETMQ_HOME呢?
因为rocketmq在运行的时候,需要从conf文件夹下获取配置及打印日志。查找这些都是从ROCKETMQ_HOME开始查找的。如果没有配置就会报错。
在idea中配置ROCKETMQ_HOME步骤如下:
在Edit Configuations中配置。点击:
在Environment variables中设置环境变量:
配置完成之后,在启动nameService.
启动nameServer源码:
启动broker
消息消费
相关文章
- 以太坊 layer2: optimism 源码学习(二) 提现原理
- 基于纯真本地数据库的 IP 地址查询 PHP 源码
- Spring Framework 源码学习笔记(六)
- 蓝鲸bk-sops源码学习二:流程组件注册实现原理「建议收藏」
- Android源码学习「建议收藏」
- Hudi Spark SQL源码学习总结-Create Table
- 【说站】云贝连锁V2独立版V2.1.5源码-优化扫码登陆流程
- vue源码分析-响应式系统(二)
- 如何学react源码
- React源码学习入门(八)React组件挂载Component细节流程
- React源码学习进阶(七)挂载阶段的commitWork
- Flask 学习-88. jsonify() 函数源码解读深入学习
- 软件测试|一键搞定centos7的docker+selenium+appium+jenkins+android_app源码打包成apk的环境搭建
- Linux源码学习笔记day4 操作系统怎么把自己弄到内存里的?
- 【Kotlin】循环控制流 ( for 循环 | Iterator 遍历形式 | Iterator 遍历要求 | IntArray 源码解析 )
- mold源码阅读 其零 main
- SkeyePlayer rtsp播放器源码解析之64位编译方案
- 利用python 统计源码行数详解编程语言
- hbase-1.2.1之put操作源码学习详解编程语言
- 发布Linux软件源码发布:开源之路(linux软件的源码)
- 深度剖析Linux Curl源码:学习网络编程必备!(linux curl源码)
- Linux 源代码有多庞大?一探究竟(linux源码有多大)
- 破解MySQL源码包,立即下载!(mysql 源码包 下载)
- 行Linux源码命令行精彩之旅(linuxsource命令)
- 深入浅出学习Redis源码(看redis源码)
- 深入浅出学习Redis源码的基本步骤(查看redis源码)
- 如何面对Redis源码分层理解精益求精(如何学习redis源码)
- Android源码学习之观察者模式应用及优点介绍
- PHP网页游戏学习之Xnova(ogame)源码解读(一)
- PHP网页游戏学习之Xnova(ogame)源码解读(二)
- PHP网页游戏学习之Xnova(ogame)源码解读(四)
- PHP网页游戏学习之Xnova(ogame)源码解读(九)
- Cocos2d-x学习笔记之HelloWorld源码分析