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...
二、项目引入
- 分支和环境
git选择的分支是 active-5.15.x
Java开发的工具是: intellij idea
jdk : 1.8
maven : 3.5
- 项目编译&打包
导入项目以后再idea的终端执行
mvn -Dtest=false install
这个命令会执行很久,建议将maven的镜像切换到国外(就是maven 原始的镜像),不选择使用阿里的镜像,因为有的资源下载的时候会出现连接超时 504错误。
镜像的设置在maven安装的文件夹.m2下面的setting.xml中可以设置
如果你无法找到的话 在idea中可以找到你的maven setting.xml
在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 的模块进行设置,设置流程如下
在apache-activemq-5.15.5-SNAPSHOT-bin.zip解压以后的文件中找到 lib文件夹
把他们全部都通过下面的方式引入module的依赖 (lib文件夹下面的jar和lib文件夹下面的子文件夹的jar也需要引入哦)
引入完成以后进入就进行最后一步
设置启动选项
在idea 中找到启动项配置 点击下三角选择Edit Configurations
在启动项的设置中需要选择启动的主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执行的命令)
配置完成以后 就可以运行程序断点 Debug 开启调试之旅了~
第一次写文章!希望可以帮助大家 !欢迎大家提出问题!
我的QQ:347785474