zoukankan      html  css  js  c++  java
  • IntelliJ IDEA 调试 Apache RocketMQ 源码

    克隆源码


    mvn clean install

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

    mvn clean install -DskipTests
    

    克隆RocketMQ源码

    准备环境

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

    修改 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 amesrvNamesrvStartup.java,执行main函数即可。执行之前先修改一下配置文件,增加 Environment variables :ROCKETMQ_HOME=D: ocketmq

    启动成功之后打印:

    The Name Server boot success. serializeType=JSON
    

    启动 Broker

    找到 rocketmqrokerBrokerStartup.java,执行main函数即可。执行之前先修改一下配置文件,增加 Environment variables :ROCKETMQ_HOME=D: ocketmq,还要修改 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

    找到 examplequickstartConsumer.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

    找到 examplequickstartProducer.java ,修改 nameserver 的地址。

      producer.setNamesrvAddr("127.0.0.1:9876");
    

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

    这时,Consumer端也收到了消息

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

    总结

    1.启动 NameServer 和 Broker 要配置 ROCKETMQ_HOME 变量。
    2.注意是否开启自动创建Topic的配置,如果没有开启,需要主动创建Topic。
    3.配置文件的修改

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

  • 相关阅读:
    WCF开发入门的实例
    转:SQLHelper类,泛型+反射
    设置ASP缓存的几个语句
    ADO.NET总结
    通过反射来实现:DataTable 和List 相互转换
    十步完成windows服务的安装
    dhl:The request for security token could not be satisfied because authentication failed. 调用方未由服务进行身份验证。
    C#中的readonly(运行时常量)与const(编译时常量)的区别
    用do{}创建内联子程序
    用autodie简化错误处理
  • 原文地址:https://www.cnblogs.com/panzi/p/11095524.html
Copyright © 2011-2022 走看看