ActivateMQ 本地debug调试 环境搭建

ActiveMQ Server 服务端本地调试搭建 让你更加熟悉源码

一、ActiveMQ简介

最近项目中需要构建一个消息推送的服务端,要求是需要基于MQTT,不想使用第三方的推送,所以准备选择一个开源的消息推送服务,进行扩展。

选择ActiveMQ主要是是因为ActiveMQ生态和社区维护的很好,对以后的拓展提供了一些便利。

Apache ActiveMQ ™是最受欢迎和功能最强大的开源消息传递和Integration Patterns服务器。

Apache ActiveMQ速度快,支持许多跨语言客户端和协议,具有易于使用的企业集成模式和许多高级功能,同时完全支持JMS 1.1和J2EE 1.4。Apache ActiveMQ是在Apache 2.0许可发布的

git镜像地址地址 https://github.com/apache/act...

二、项目引入

  1. 分支和环境

    git选择的分支是 active-5.15.x

    Java开发的工具是: intellij idea

    jdk : 1.8

    maven : 3.5

  2. 项目编译&打包

    导入项目以后再idea的终端执行

ActivateMQ 本地debug调试 环境搭建

mvn -Dtest=false install

这个命令会执行很久,建议将maven的镜像切换到国外(就是maven 原始的镜像),不选择使用阿里的镜像,因为有的资源下载的时候会出现连接超时 504错误。

镜像的设置在maven安装的文件夹.m2下面的setting.xml中可以设置

如果你无法找到的话 在idea中可以找到你的maven setting.xml

ActivateMQ 本地debug调试 环境搭建

在setting.xml 中的<mirrors><mirror></mirror></mirrors> 里面标记的就是maven使用的镜像

示例:

<mirrors>
    <mirror>
        <id>central</id>
        <name>Maven Repository Switchboard</name>
        <url>http://repo1.maven.org/maven2/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>

等待build 成功完成以后就可以进行调试了!

三、调试开始

​ build成功以后在项目的根目录下 activemq/assembly/target下生成了apache-activemq-5.15.5-SNAPSHOT-bin.zip 文件这个是服务端源码编译以后的代码,你在这个目录下会发现一个apache-activemq-5.15.5-SNAPSHOT-bin.tar.gz的文件,这其实是服务器上执行的编译后的源码文件

​ 把他解压以后,把conf,data,webapps三个文件夹copy到你的根目录下面,然后在idea中对activemq-console 的模块进行设置,设置流程如下

ActivateMQ 本地debug调试 环境搭建

在apache-activemq-5.15.5-SNAPSHOT-bin.zip解压以后的文件中找到 lib文件夹

把他们全部都通过下面的方式引入module的依赖 (lib文件夹下面的jar和lib文件夹下面的子文件夹的jar也需要引入哦)

ActivateMQ 本地debug调试 环境搭建

引入完成以后进入就进行最后一步

设置启动选项

在idea 中找到启动项配置 点击下三角选择Edit Configurations

ActivateMQ 本地debug调试 环境搭建

在启动项的设置中需要选择启动的主class

  • Main Class: 设置为你要Run的Class 也就是 org.apache.activemq.console.Main
  • VM Options :设置的参数需要根据你的路径设置

    示例:

    -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/xxx/xxx/xxx/activemq//conf/login.config -Dactivemq.classpath=/xxx/xxx/xxx/activemq//conf:/xxx/xxx/Project/activemq//../lib/: -Dactivemq.home=/xxx/xxx/xxx/activemq/ -Dactivemq.base=/xxx/xxx/xxx/activemq/ -Dactivemq.conf=/xxx/xxx/xxx/activemq//conf -Dactivemq.data=/xxx/xxx/xxx/activemq//data

    上面的配置中/xxx/xxx/xxx/activemq/ 就是你activemq的项目的真实路径,假如我的路径是C://user/project/activemq 上面的Options 更改为

    Dactivemq.conf=C://user/project/activemq//conf

    以此类推 把VM Options 设置一遍

  • Program arguments: 设置为 start (其实是执行 activemq start 也就是activemq.bat执行的命令)

ActivateMQ 本地debug调试 环境搭建

配置完成以后 就可以运行程序断点 Debug 开启调试之旅了~

第一次写文章!希望可以帮助大家 !欢迎大家提出问题!

我的QQ:347785474

我的git:https://github.com/taohonghui

相关推荐