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的源码中尽情冲浪吧~~

  • 相关阅读:
    poj 3616 Milking Time
    poj 3176 Cow Bowling
    poj 2229 Sumsets
    poj 2385 Apple Catching
    poj 3280 Cheapest Palindrome
    hdu 1530 Maximum Clique
    hdu 1102 Constructing Roads
    codeforces 592B The Monster and the Squirrel
    CDOJ 1221 Ancient Go
    hdu 1151 Air Raid(二分图最小路径覆盖)
  • 原文地址:https://www.cnblogs.com/panzi/p/11095524.html
Copyright © 2011-2022 走看看