RocketMQ源码导入
RocketMQ的官方Git仓库地址:github.com/apache/rock…
也可以到RocketMQ的官方网站上下载指定版本的源码:rocketmq.apache.org/dowloading/…
然后在IDEA导入
RocketMQ下有很多功能模块,不可能每个功能模块都去看,看完估计不知道自己在哪儿了。根据图灵课程,可以先关注以下几个最为重要的模块:
1.broker:broker模块(broker启动进程);
2.client:消息客户端,包含消息生产者、消息消费者相关类;
3.example:RocketMQ示例代码
4.namesrv:NameServer实现相关类(NameServer启动进程);
5.store:消息存储实现相关类
复制代码
下载后直接导入IDEA,然后编译。使用maven编译:mvn clean install -Dmaven.test.skip=true
编译完成后,开始配置启动的文件-》broker的启动配置文件
在项目重新建一个conf目录,然后将distribution下的broker.conf 和
logback_broker.xml 和logback_namesrv.xml拷贝过来。如图:
其实主要修改broker.conf。增加的内容如下(原来的不用修改):
# 自动创建Topic 线上关闭
autoCreateTopicEnable=true
# nameServer地址
namesrvAddr=127.0.0.1:9876
# 存储路径
storePathRootDir=E:\MyCode\MQ\RocketMQSrc\data\dataDir
# commitLog路径
storePathCommitLog=E:\MyCode\MQ\RocketMQSrc\data\dataDir\commitlog
# 消息队列存储路径
storePathConsumeQueue=E:\MyCode\MQ\RocketMQSrc\data\dataDir\consumequeue
# 消息索引存储路径
storePathIndex=E:\MyCode\MQ\RocketMQSrc\data\dataDir\index
# checkpoint文件路径
storeCheckpoint=E:\MyCode\MQ\RocketMQSrc\data\dataDir\checkpoint
# abort文件存储路径
abortFile=E:\MyCode\MQ\RocketMQSrc\data\dataDir\bort
复制代码
接着启动namesrv文件的下NamesrvStartup程序,如图:
此时会提示错误,提示需要配置一个ROCKETMQ_HOME环境变量,需要在IDEA启动时添加环境变量:如图
然后启动程序,输出:
The Name Server boot success. serializeType=JSON
复制代码
表示程序启动成功
接着配置Broker,同样需要配置ROCKETMQ_HOME,然后在启动参数还需要加上指定配置文件启动:如图
然后启动程序:当出现
The broker[broker-a, 192.168.1.12:10911] boot success. serializeType=JSON and name server is 127.0.0.1:9876
复制代码
表示启动成功。然后可以使用RocketMQ源码下的example下的测试用例进行测试。
唯一需要注意的是,在测试用例需要我们指定自己的NameServer地址。
producer.setNamesrvAddr("127.0.0.1:9876");
复制代码
这里测试的时候发现一个比较坑的问题啊,前面说过测试批量发送消息的时候,不是一直报错吗,然后在测试源码的时候,我直接使用example的批量发送,发现没有问题,我一想是不是能测试一下我之前的代码,测试结果我是心酸的,居然顺利通过。于是我又打开虚拟机,使用虚拟机下载好的rocketmq-all-4.7.0-bin-release.zip测试,还是保之前的错,不知道为什么了???????????
下面是正常的测试结果:
使用的测试类:src/main/java/org/apache/rocketmq/example/simple/PullConsumer.java
PullResult [pullStatus=FOUND, nextBeginOffset=105568, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105600, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105632, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105664, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105696, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105728, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105760, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105792, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105824, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105856, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105888, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105920, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105952, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=105984, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106016, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106048, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106080, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106112, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106144, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106176, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106208, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106240, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106272, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106304, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106336, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106368, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106400, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106432, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106464, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106496, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106528, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106560, minOffset=0, maxOffset=106588, msgFoundList=32]
PullResult [pullStatus=FOUND, nextBeginOffset=106588, minOffset=0, maxOffset=106588, msgFoundList=28]
PullResult [pullStatus=NO_NEW_MSG, nextBeginOffset=106588, minOffset=0, maxOffset=106588, msgFoundList=0]
18:52:18.608 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[127.0.0.1:9876] result: true
18:52:18.610 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[192.168.164.239:10911] result: true
复制代码




近期评论