前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【RocketMQ源码学习】RocketMQ源码学习之环境搭建

【RocketMQ源码学习】RocketMQ源码学习之环境搭建

作者头像
凯哥Java
发布2022-12-16 18:53:45
2310
发布2022-12-16 18:53:45
举报
文章被收录于专栏:凯哥Java凯哥Java

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后,执行下面命令:

代码语言:javascript
复制
clean install -Dmaven.test.skip =true

源码调试:

需求:我们基于源码来实现一个消息发送和消息消费。

我们知道,正常RocketMQ部署顺序:启动NameServer、启动Broker、启动生成、启动消费者、发送消息,消费消息。

在进行源码调试之前,先在源码工程创建conf配置文件夹,配置信息从distribution拷贝brokrer.conf和logback_broker.xml及logback_namesrv.xml这三个文件到conf目录。

411f14f3fc29483dd025f8761a030d5c.png
411f14f3fc29483dd025f8761a030d5c.png

设置rocketmq的环境变量。不然会出现以下错误:

910d45520b4de64fc4a5aba0f09bd65b.png
910d45520b4de64fc4a5aba0f09bd65b.png

为什么要甚至rocketmq的环境变量ROCKETMQ_HOME呢?

因为rocketmq在运行的时候,需要从conf文件夹下获取配置及打印日志。查找这些都是从ROCKETMQ_HOME开始查找的。如果没有配置就会报错。

在idea中配置ROCKETMQ_HOME步骤如下:

在Edit Configuations中配置。点击:

在Environment variables中设置环境变量:

配置完成之后,在启动nameService.

启动nameServer源码:

启动broker

消息消费

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-10-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档