首先从 git 仓库中获取 rocketmq 源码,然后切换分支到 4.3
2 编译项目在根目录下,将 pom 文件中的插件进行删除,分别是 maven-checkstyle-plugin,maven-failsafe-plugin,maven-gpg-plugin 这三个插件,接着执行 mvn clean install -Dmaven.test.skip=true, 不删除插件,则执行这一步时,会报错。
接着在 rocketmq 根目录创建conf 文件夹,用于后面的broker 启动配置。conf 中的文件来自 distribution/conf 下,选择 broker.conf,logback_broker.xml,logback_namesrv.xml 然后将它们复制到起初创建的 conf 文件夹下。并且 broker.conf 中添加如下代码:
# namesrvAddr地址 namesrvAddr=127.0.0.1:9876 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH autoCreateTopicEnable=true autoCreateTopicEnable=true # 存储路径 storePathRootDir=D:IDEA ProjectRulerocketmqdatarocketmqdataDir # commitLog路径 storePathCommitLog=D:IDEA ProjectRulerocketmqdatarocketmqdataDircommitlog # 消息队列存储路径 storePathConsumeQueue=D:IDEA ProjectRulerocketmqdatarocketmqdataDirconsumequeue # 消息索引存储路径 storePathIndex=D:IDEA ProjectRulerocketmqdatarocketmqdataDirindex # checkpoint文件路径 storeCheckpoint=D:IDEA ProjectRulerocketmqdatarocketmqdataDircheckpoint # abort文件存储路径 abortFile=D:IDEA ProjectRulerocketmqdatarocketmqdataDirabort
最终效果如下:
启动 NamesrvStartup,并且添加环境变量 ROCKETMQ_HOME=D:IDEA ProjectRulerocketmq,如下
运行成功的界面如下:
启动 BrokerStartup ,按照 namesrv 启动进行配置,然后再添加启动参数 -c D:IDEA ProjectRulerocketmqconfbroker.conf,
配置和运行成功界面如下,必须出现配置的 namesrv 地址,则表示成功,否则表示连接 namesrv 失败。
启动 example 模块下 quickstart 包下的 Consumer 消费消息类。修改namesrv 的地址,
4.4 启动 producer同样启动 example 模块下 quickstart 包下的 Producer 生产消息类,设置 namesrv 地址,随后启动则会发送消息,消息的 topic 为 TopicTest。
4.5 消息消费按照上面两步进行启动 rocketmq 的消息消费者和生产者,生产者则会发送消息,同时消费者则会接收到消息,结果如下。



