克隆源码



mvn clean install

执行命令,跳过测试。我在执行测试的时候有时候卡住,所以干脆就跳过了。

mvn clean install -DskipTests

准备环境

在 D 盘创建 rocketmq 文件夹,里面新建 conf,logs,store 三个文件夹。将源码文件夹下 distribution/conf/broker.conf,distribution/conf/logback_broker.xml,distribution/conf/logback_namesrv.xml复制到D:\rocketmq\conf 目录下。

修改 broker.conf ,配置如下

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 存储路径
storePathRootDir=D:\\rocketmq\\store
# commitLog 路径
storePathCommitLog=D:\\rocketmq\\store\\commitlog
# 消费队列存储路径
storePathConsumeQueue=D:\\rocketmq\\store\\consumequeue
# 消息索引存储路径
storePathIndex=D:\\rocketmq\\store\\index
# checkePoint 文件存储路径
storeCheckpoint=D:\\rocketmq\\store\\checkpoint
# abort 文件存储路径
abortFile=D:\\rocketmq\\store\\abort

启动 NameServer

找到 rocketmq\namesrv\NamesrvStartup.java,执行main函数即可。执行之前先修改一下配置文件,增加 Environment variables :ROCKETMQ_HOME=D:\rocketmq

启动成功之后打印:

The Name Server boot success. serializeType=JSON

启动 Broker

找到 rocketmq\broker\BrokerStartup.java,执行main函数即可。执行之前先修改一下配置文件,增加 Environment variables :ROCKETMQ_HOME=D:\rocketmq,还要修改 Program arguments,记住这里的 autoCreateTopicEnable=true ,否则在执行 example 程序的时候,会报无效的Topic 错误。

启动成功之后打印:

The broker[broker-a, 172.26.75.49:10911] boot success. serializeType=JSON and name server is localhost:9876

启动 Consumer

找到 example\quickstart\Consumer.java ,修改 nameserver 的地址。

  consumer.setNamesrvAddr("127.0.0.1:9876");

启动之后打印:

10:42:12.985 [main] DEBUG i.n.u.i.l.InternalLoggerFactory - Using SLF4J as the default logging framework
Consumer Started.

启动 Producer

找到 example\quickstart\Producer.java ,修改 nameserver 的地址。

  producer.setNamesrvAddr("127.0.0.1:9876");

启动成功之后打印发送消息:

这时,Consumer端也收到了消息

至此,RocketMQ 本地调试环境就搭建完成了。

总结

1.启动 NameServer 和 Broker 要配置 ROCKETMQ_HOME 变量。

2.注意是否开启自动创建Topic的配置,如果没有开启,需要主动创建Topic。

3.配置文件的修改

接下来就去RocketMQ的源码中尽情冲浪吧~~

IntelliJ IDEA 调试 Apache RocketMQ 源码的更多相关文章

  1. Eclipse中搭建Apache Tomcat7源码调试环境

    第一步:获取Apache Tomcat7源码,读者可以从Apache 官方网站获取,官方下载地址: http://tomcat.apache.org/download-70.cgi 注意选择Sourc ...

  2. Apache Spark源码剖析

    Apache Spark源码剖析(全面系统介绍Spark源码,提供分析源码的实用技巧和合理的阅读顺序,充分了解Spark的设计思想和运行机理) 许鹏 著   ISBN 978-7-121-25420- ...

  3. PHP扩展编写、PHP扩展调试、VLD源码分析、基于嵌入式Embed SAPI实现opcode查看

    catalogue . 编译PHP源码 . 扩展结构.优缺点 . 使用PHP原生扩展框架wizard ext_skel编写扩展 . 编译安装VLD . Debug调试VLD . VLD源码分析 . 嵌 ...

  4. 《Apache Spark源码剖析》

    Spark Contributor,Databricks工程师连城,华为大数据平台开发部部长陈亮,网易杭州研究院副院长汪源,TalkingData首席数据科学家张夏天联袂力荐1.本书全面.系统地介绍了 ...

  5. RocketMQ源码 — 六、 RocketMQ高可用(1)

    高可用究竟指的是什么?请参考:关于高可用的系统 RocketMQ做了以下的事情来保证系统的高可用 多master部署,防止单点故障 消息冗余(主从结构),防止消息丢失 故障恢复(本篇暂不讨论) 那么问 ...

  6. RocketMQ 源码学习笔记————Producer 是怎么将消息发送至 Broker 的?

    目录 RocketMQ 源码学习笔记----Producer 是怎么将消息发送至 Broker 的? 前言 项目结构 rocketmq-client 模块 DefaultMQProducerTest ...

  7. RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的?

    目录 RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的? 前言 项目结构 rocketmq-client 模块 DefaultMQProducerTest Roc ...

  8. RocketMQ源码分析之从官方示例窥探:RocketMQ事务消息实现基本思想

    摘要: RocketMQ源码分析之从官方示例窥探RocketMQ事务消息实现基本思想. 在阅读本文前,若您对RocketMQ技术感兴趣,请加入RocketMQ技术交流群 RocketMQ4.3.0版本 ...

  9. 【RocketMQ源码分析】深入消息存储(1)

    最近在学习RocketMQ相关的东西,在学习之余沉淀几篇笔记. RocketMQ有很多值得关注的设计点,消息发送.消息消费.路由中心NameServer.消息过滤.消息存储.主从同步.事务消息等等. ...

随机推荐

  1. [摘录]flutter打包后无法访问接口

    打开文件{{flutterPorject}}\android\app\src\main\AndroidManifest.xml这个文件增加权限信息: <uses-permission andro ...

  2. IOS之NSString NSData char 相互转换

    转自:http://blog.csdn.net/xialibing103/article/details/8513312 1.NSString转化为UNICODE String:(NSString*) ...

  3. Gateway-Worker启动失败或者启动无法正常使用的几种方法

    Workerman是一款开源高性能异步PHP socket即时通讯框架.支持高并发,超高稳定性,被广泛的用于手机app.移动通讯,微信小程序,手游服务端.网络游戏.PHP聊天室.硬件通讯.智能家居.车 ...

  4. 第一册:lesson 131.

    原文: Don't be so sure. question:What's the problem about deciding on a holiday. Where are you going t ...

  5. postgresql源代码结构

    转载学习: 德哥培训! 源码下载: https://www.postgresql.org/ftp/source/ 1.postgressql源码目录结构 2.src目录结构

  6. SpringCloud2.0 Hystrix Ribbon 基于Ribbon实现断路器

    原文:https://www.cnblogs.com/songlu/p/9949203.html 1.启动[服务中心]集群,工程名:springcloud-eureka-server 参考 Sprin ...

  7. 推荐系统(recommender systems):预测电影评分--构造推荐系统的一种方法:低秩矩阵分解(low rank matrix factorization)

    如上图中的predicted ratings矩阵可以分解成X与ΘT的乘积,这个叫做低秩矩阵分解. 我们先学习出product的特征参数向量,在实际应用中这些学习出来的参数向量可能比较难以理解,也很难可 ...

  8. 爬虫-requests用法

    中文文档 API: http://requests.kennethreitz.org/zh_CN/latest/ 安装 pip install requests 获取网页 # coding=utf-8 ...

  9. Objective-C Classes Are also Objects

    https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC ...

  10. MATLAB画图笔记

    plot函数 plot(x,y)默认格式: 若x,y是向量,则它们必须具有相同的长度.函数将以x为横轴,绘制y. 若x,y都是矩阵,则它们必须具有相同的尺寸,plot函数将针对x的各列绘制y的每列.更 ...