当前位置 : 主页 > 编程语言 > java >

idea配置RocketMQ本地开发环境

来源:互联网 收集:自由互联 发布时间:2022-07-17
环境 idea:IntelliJ IDEA 2022.1.2 (Ultimate Edition) 操作系统:win10 rocketmq 版本:4.9.5 (当时从github拉取的最新代码) 前言 rocketmq在idea中开发的配置方式,早期的版本与现在版本配置参数是否完


环境

  • 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配置RocketMQ本地开发环境_intellij-idea

 主要需要在idea启动中运行namesrv和broker两个模块,这两个模块下有相关的启动函数。

运行namesrv

启动类路径:

org.apache.rocketmq.namesrv.NamesrvStartup

启动前设置相关环境变量,有如下两种方式:

1. 硬编码

System.setProperty(MixAll.ROCKETMQ_HOME_PROPERTY, "G:\\java\\github\\rocketmq\\distribution");

idea配置RocketMQ本地开发环境_rocketmq_02

注意指定的目录是在distrbution模块下:

idea配置RocketMQ本地开发环境_rocketmq_03

  

2. idea设置

  • 方式一
  • idea配置RocketMQ本地开发环境_配置文件_04

  • 方式二
  • idea配置RocketMQ本地开发环境_ide_05

     这两种随便哪种即可。

    配置完成,直接运行即可,启动成功如下:

    idea配置RocketMQ本地开发环境_rocketmq_06

    运行broker

    启动类路径:

    org.apache.rocketmq.broker.BrokerStartup

    配置环境变量,配置方式与上面namesrv一模一样。

    配置进程参数,如下指定配置文件:

    idea配置RocketMQ本地开发环境_rocketmq_07

     注意指定broker配置文件。

    启动,成功如下:

    idea配置RocketMQ本地开发环境_rocketmq_08

    其它问题

    多个slf4j实现

    启动broker遇到如下错误:

    idea配置RocketMQ本地开发环境_rocketmq_09

    分析了下,冲突的地方是在dledger的依赖里:

    idea配置RocketMQ本地开发环境_ide_10

    排除它,问题解决:

    idea配置RocketMQ本地开发环境_rocketmq_11

    未指定broker配置文件

    前面说明了启动broker配置进程参数指定配置文件,示例如下:

    -c G:\java\github\rocketmq\distribution\conf\broker.conf

     如果忘了指定,启动后,控制台日志显示可能如下:

    idea配置RocketMQ本地开发环境_配置文件_12

    broker名称不是配置文件里的名称,可能是主机名,windows、mac、linux这里显示可能有些区别。

    如果发现自己的配置文件的配置不生效,总有些奇怪现象,比如禁止自动创建topic,配置不生效等, 就查看启动日志检查下是不是这里的问题。

    上一篇:标准输入输出流
    下一篇:没有了
    网友评论