idea配置RocketMQ本地开发环境
Posted 不识君的荒漠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了idea配置RocketMQ本地开发环境相关的知识,希望对你有一定的参考价值。
环境
- idea: IntelliJ IDEA 2022.1.2 (Ultimate Edition)
- 操作系统:win10
- rocketmq 版本:4.9.5 (当时从github拉取的最新代码)
前言
rocketmq在idea中开发的配置方式,早期的版本与现在版本配置参数是否完全一样,我也记不太清了,下文以4.9.5版本进行说明。
idea用的也是最新版本,可能与2021之前的版本在环境变量配置的界面也有点不太一样。
代码与工程准备
下载代码:
git clone https://github.com/apache/rocketmq.git
默认拉取下来是master分支,可以切换到develop分支。如果需要提交pr,请再从develop拉取自己的本地分支。
用idea打开代码。
模块说明
主要需要在idea启动中运行namesrv和broker两个模块,这两个模块下有相关的启动函数。
运行namesrv
启动类路径:
org.apache.rocketmq.namesrv.NamesrvStartup
启动前设置相关环境变量,有如下两种方式:
1. 硬编码
System.setProperty(MixAll.ROCKETMQ_HOME_PROPERTY, "G:\\\\java\\\\github\\\\rocketmq\\\\distribution");
注意指定的目录是在distrbution模块下:
2. idea设置
- 方式一
- 方式二
这两种随便哪种即可。
配置完成,直接运行即可,启动成功如下:
运行broker
启动类路径:
org.apache.rocketmq.broker.BrokerStartup
配置环境变量,配置方式与上面namesrv一模一样。
配置进程参数,如下指定配置文件:
注意指定broker配置文件。
启动,成功如下:
其它问题
多个slf4j实现
启动broker遇到如下错误:
分析了下,冲突的地方是在dledger的依赖里:
排除它,问题解决:
未指定broker配置文件
前面说明了启动broker配置进程参数指定配置文件,示例如下:
-c G:\\java\\github\\rocketmq\\distribution\\conf\\broker.conf
如果忘了指定,启动后,控制台日志显示可能如下:
broker名称不是配置文件里的名称,可能是主机名,windows、mac、linux这里显示可能有些区别。
如果发现自己的配置文件的配置不生效,总有些奇怪现象,比如禁止自动创建topic,配置不生效等, 就查看启动日志检查下是不是这里的问题。
以上是关于idea配置RocketMQ本地开发环境的主要内容,如果未能解决你的问题,请参考以下文章