15分钟搭建RocketMQ源码调试环境
下载源码
下载源码,github页面选择(rocketmq-all-4.7.1)版本压缩包,https://github.com/apache/rocketmq/tags
导入IDEA
1. 使用IDEA打开工程后,修改pom.xml文件中无关内容
1. 去除maven-gpg-plugin、maven-failsafe-plugin插件
3. 使用IDEA的maven编译整个项目,(clean compile install),记得Skip Tests
新建文件夹,存放配置、日志、消息体等内容
1. 新建一个文件夹,如1local_ROCKETMQ_HOME
2. 1local_ROCKETMQ_HOME路径下创建3个文件夹(conf,logs,store)
3. 将工程中distribution/conf目录下的3个文件(logback_namesrv.xml,logback_broker.xml,broker.conf),复制到前面创建的conf目录下
4. 修改broker.conf,增加【附录1】中的配置,注意替换路径
5. 修改logback_namesrv.xml和logback_broker.xml中的${user.home}参数,替换为1local_ROCKETMQ_HOME绝对路径
6. 修改org.apache.rocketmq.common.namesrv.NamesrvConfig,rocketmqHome变量,原因是动态获取配置,现改为1local_ROCKETMQ_HOME绝对路径
7. 修改org.apache.rocketmq.common.BrokerConfig变量,原因是动态获取配置,现改为1local_ROCKETMQ_HOME绝对路径
应用启动
1. NameServer启动
1. NamesrvStartup main方法启动即可
2. 控制台打印如下日志代表启动成功(The Name Server boot success. serializeType=JSON)
3. 1local_ROCKETMQ_HOME/logs/rocketmqlogs可看到详细日志
2. BrokerStartup启动
1. BrokerStartup main方法启动即可(启动时需指定conf文件 -c D:\opensource_code\rocketmq\1local_ROCKETMQ_HOME\conf\broker.conf)
2. 控制台打印如下日志代表启动成功(The broker[broker-a, 你的ip:10911] boot success. serializeType=JSON and name server is 127.0.0.1:9876)
3. 1local_ROCKETMQ_HOME/logs/rocketmqlogs可看到详细日志
测试消息的生产和消费
1. 消息发送,找到类org.apache.rocketmq.example.quickstart.Producer
1. 增加代码,指定NameSrv地址, producer.setNamesrvAddr("127.0.0.1:9876");
2. 启动main方法,可见日志输出SendResult
3. 在store路径下,可见已生成TopicTest相关的物理文件
2. 消息消费,找到类org.apache.rocketmq.example.quickstart.Consumer
1. 增加代码,指定NameSrv地址, consumer.setNamesrvAddr("127.0.0.1:9876");
2. 启动main方法,可见日志输出消费日志,如 ConsumeMessageThread_19 Receive New Messages: xxx....
附录1
#nameServer 地址 分号分割
namesrvAddr=127.0.0.1:9876
# 存储路径
storePathRootDir=D:\\opensource_code\\rocketmq\\1local_ROCKETMQ_HOME\\store
#commitLog 存储路径
storePathCommitLog=D:\\opensource_code\\rocketmq\\1local_ROCKETMQ_HOME\\store\\commitlog
# 消费队列存储路径
storePathConsumeQueue=D:\\opensource_code\\rocketmq\\1local_ROCKETMQ_HOME\\store\\consumequeue
# 消息索引|存储路径
storePathindex=D:\\opensource_code\\rocketmq\\1local_ROCKETMQ_HOME\\store\\index
#checkpoint 文件存储路径
storeCheckpoint=D:\\opensource_code\\rocketmq\\1local_ROCKETMQ_HOME\\store\\checkpoint
#abort 文件存储路径
abortFile=D:\\opensource_code\\rocketmq\\1local_ROCKETMQ_HOME\\store\\abort
15分钟搭建RocketMQ源码调试环境的更多相关文章
- [原创]在Windows和Linux中搭建PostgreSQL源码调试环境
张文升http://ode.cnblogs.comEmail:wensheng.zhang#foxmail.com 配图太多,完整pdf下载请点这里 本文使用Xming.Putty和VMWare几款工 ...
- 如何搭建自己的SpringBoot源码调试环境?--SpringBoot源码(一)
1 前言 这是SpringBoot2.1源码分析专题的第一篇文章,主要讲如何来搭建我们的源码阅读调试环境.如果有经验的小伙伴们可以略过此篇文章. 2 环境安装要求 IntelliJ IDEA JDK1 ...
- 【深入浅出 Yarn 架构与实现】1-2 搭建 Hadoop 源码阅读环境
本文将介绍如何使用 idea 搭建 Hadoop 源码阅读环境.(默认已安装好 Java.Maven 环境) 一.搭建源码阅读环境 一)idea 导入 hadoop 工程 从 github 上拉取代码 ...
- 在IDEA中搭建Java源码学习环境并上传到GitHub上
打开IDEA新建一个项目 创建一个最简单的Java项目即可 在项目命名填写该项目的名称,我这里写的项目名为Java_Source_Study 点击Finished,然后在项目的src目录下新建源码文件 ...
- 利用IDEA搭建JDK源码阅读环境
利用IDEA搭建JDK源码阅读环境 首先新建一个java基础项目 基础目录 source 源码 test 测试源码和入口 准备JDK源码 下图框起来的路径就是jdk的储存位置 打开jdk目录,找到sr ...
- win7+idea+maven搭建spark源码阅读环境
1.参考. 利用IDEA工具编译Spark源码(1.60~2.20) https://blog.csdn.net/He11o_Liu/article/details/78739699 Maven编译打 ...
- 搭建 Spring 源码阅读环境
前言 有一个Spring源码阅读环境是学习Spring的基础.笔者借鉴了网上很多搭建环境的方法,也尝试了很多,接下来总结两种个人认为比较简便实用的方法.读者可根据自己的需要自行选择. 方法一:搭建基础 ...
- Mac搭建Hadoop源码阅读环境
1.本次Hadoop源码阅读环境使用的阅读工具是idea,Hadoop版本是2.7.3.需要安装的工具包括idea.jdk.maven.protobuf等 2.jdk,使用的版本是1.8版,在jdk官 ...
- JVM 源码分析(二):搭建 JDK 8 源码调试环境(Windows 上使用 CLion)
前言 一.准备源码 二.安装 "Bootstrap JDK" 三.配置编译环境 四.编译与测试 五.安装 CMake 和 GDB 五.准备远程调试 六.开始远程调试 前言 上一篇文 ...
随机推荐
- KLOOK客路旅行基于Apache Hudi的数据湖实践
1. 业务背景介绍 客路旅行(KLOOK)是一家专注于境外目的地旅游资源整合的在线旅行平台,提供景点门票.一日游.特色体验.当地交通与美食预订服务.覆盖全球100个国家及地区,支持12种语言和41种货 ...
- WinUI迁移到即将"过时"的.NET MAUI个人体验
迁移的初衷 本人平时是做.net相关的工作,对于.net技术栈也有一些了解,自从新的.net能够跨平台之后,之前也有跨平台的ui框架Xamarin,现在微软推出了.NET MAUI这个说是 统一了开发 ...
- R可视化:plot函数基础操作,小白教程
最近迷恋上了画图,一方面是觉得挺有意思的,另一方面是觉得自己确实画图方面比较弱,所以决定比较系统地回顾反思一下,同时顺带记录下来分享给大家.也确实是好久好久没更新文章了,真的是杂事太多太忙太牵扯精力没 ...
- JavaScript数组操作常用方法
@ 目录 数组基础遍历方法. for for of for in 数组的基础操作方法. push:尾部追加元素 pop:尾部移出元素 unshift:头部追加元素 shift:头部移出元素 splic ...
- Hadoop安装学习(第二天)
学习任务: 1.对VMnet8进行设置 2.配置主机名,对host文件进行编辑 3.将Hadoop文件以及jdk通过Xshell7传输到Linux系统 4.设置免密登录
- [漏洞复现] [Vulhub靶机] OpenSSL Heartbleed Vulnerability (CVE-2014-0160)
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 0x00 背景知识 传输层安全协议SSL 安全套接字协议SSL(Secure Sockets Layer),及其继任者传输层安 ...
- Python常用标准库(pickle序列化和JSON序列化)
常用的标准库 序列化模块 import pickle 序列化和反序列化 把不能直接存储的数据变得可存储,这个过程叫做序列化.把文件中的数据拿出来,回复称原来的数据类型,这个过程叫做反序列化. 在文件中 ...
- Unity实现”对象池管理器“
前言:警告!这可能是坨屎,空闲时间写成,仅作娱乐 在Unity中生成或销毁一个物体会占用较大的资源,如果是制作FPS射击游戏,子弹生成更是雪上加霜.所以我自己写了一个PoolManager,不能和网上 ...
- DML数据操作语言
DML数据操作语言 用来对数据库中表的数据记录进行更新.(增删改) 插入insert -- insert into 表(列名1,列名2,列名3...) values (值1,值2,值3...):向表中 ...
- .NET C#基础(4):属性 - 本质是方法
0. 文章目的 本文面向有一定.NET C#基础知识的学习者,介绍C#中属性的属性.定义.使用方法以及特殊性. 1. 阅读基础 理解C#基本语法(定义类及类成员,调用方法) 认可OOP的封 ...