摘要:服務(wù)端本地調(diào)試搭建讓你更加熟悉源碼一簡(jiǎn)介最近項(xiàng)目中需要構(gòu)建一個(gè)消息推送的服務(wù)端,要求是需要基于,不想使用第三方的推送,所以準(zhǔn)備選擇一個(gè)開(kāi)源的消息推送服務(wù),進(jìn)行擴(kuò)展。是最受歡迎和功能最強(qiáng)大的開(kāi)源消息傳遞和服務(wù)器。
ActiveMQ Server 服務(wù)端本地調(diào)試搭建 讓你更加熟悉源碼 一、ActiveMQ簡(jiǎn)介
最近項(xiàng)目中需要構(gòu)建一個(gè)消息推送的服務(wù)端,要求是需要基于MQTT,不想使用第三方的推送,所以準(zhǔn)備選擇一個(gè)開(kāi)源的消息推送服務(wù),進(jìn)行擴(kuò)展。
選擇ActiveMQ主要是是因?yàn)锳ctiveMQ生態(tài)和社區(qū)維護(hù)的很好,對(duì)以后的拓展提供了一些便利。
Apache ActiveMQ ?是最受歡迎和功能最強(qiáng)大的開(kāi)源消息傳遞和Integration Patterns服務(wù)器。
Apache ActiveMQ速度快,支持許多跨語(yǔ)言客戶端和協(xié)議,具有易于使用的企業(yè)集成模式和許多高級(jí)功能,同時(shí)完全支持JMS 1.1和J2EE 1.4。Apache ActiveMQ是在Apache 2.0許可下發(fā)布的
git鏡像地址地址 https://github.com/apache/act...
二、項(xiàng)目引入分支和環(huán)境
git選擇的分支是 active-5.15.x
Java開(kāi)發(fā)的工具是: intellij idea
jdk : 1.8
maven : 3.5
項(xiàng)目編譯&打包
導(dǎo)入項(xiàng)目以后再idea的終端執(zhí)行
?
?
mvn -Dtest=false install
這個(gè)命令會(huì)執(zhí)行很久,建議將maven的鏡像切換到國(guó)外(就是maven 原始的鏡像),不選擇使用阿里的鏡像,因?yàn)橛械馁Y源下載的時(shí)候會(huì)出現(xiàn)連接超時(shí) 504錯(cuò)誤。
鏡像的設(shè)置在maven安裝的文件夾.m2下面的setting.xml中可以設(shè)置
如果你無(wú)法找到的話 在idea中可以找到你的maven setting.xml
在setting.xml 中的
示例:
central Maven Repository Switchboard http://repo1.maven.org/maven2/ central
等待build 成功完成以后就可以進(jìn)行調(diào)試了!
三、調(diào)試開(kāi)始? build成功以后在項(xiàng)目的根目錄下 activemq/assembly/target下生成了apache-activemq-5.15.5-SNAPSHOT-bin.zip 文件這個(gè)是服務(wù)端源碼編譯以后的代碼,你在這個(gè)目錄下會(huì)發(fā)現(xiàn)一個(gè)apache-activemq-5.15.5-SNAPSHOT-bin.tar.gz的文件,這其實(shí)是服務(wù)器上執(zhí)行的編譯后的源碼文件
? 把他解壓以后,把conf,data,webapps三個(gè)文件夾copy到你的根目錄下面,然后在idea中對(duì)activemq-console 的模塊進(jìn)行設(shè)置,設(shè)置流程如下
在apache-activemq-5.15.5-SNAPSHOT-bin.zip解壓以后的文件中找到 lib文件夾
把他們?nèi)慷纪ㄟ^(guò)下面的方式引入module的依賴 (lib文件夾下面的jar和lib文件夾下面的子文件夾的jar也需要引入哦)
引入完成以后進(jìn)入就進(jìn)行最后一步
設(shè)置啟動(dòng)選項(xiàng)
在idea 中找到啟動(dòng)項(xiàng)配置 點(diǎn)擊下三角選擇Edit Configurations
在啟動(dòng)項(xiàng)的設(shè)置中需要選擇啟動(dòng)的主class
Main Class: 設(shè)置為你要Run的Class 也就是 org.apache.activemq.console.Main
VM Options :設(shè)置的參數(shù)需要根據(jù)你的路徑設(shè)置
示例:
-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的項(xiàng)目的真實(shí)路徑,假如我的路徑是C://user/project/activemq 上面的Options 更改為
Dactivemq.conf=C://user/project/activemq//conf
以此類推 把VM Options 設(shè)置一遍
Program arguments: 設(shè)置為 start (其實(shí)是執(zhí)行 activemq start 也就是activemq.bat執(zhí)行的命令)
配置完成以后 就可以運(yùn)行程序斷點(diǎn) Debug 開(kāi)啟調(diào)試之旅了~
第一次寫(xiě)文章!希望可以幫助大家 !歡迎大家提出問(wèn)題!
我的QQ:347785474
我的git:https://github.com/taohonghui
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/35935.html
摘要:服務(wù)端本地調(diào)試搭建讓你更加熟悉源碼一簡(jiǎn)介最近項(xiàng)目中需要構(gòu)建一個(gè)消息推送的服務(wù)端,要求是需要基于,不想使用第三方的推送,所以準(zhǔn)備選擇一個(gè)開(kāi)源的消息推送服務(wù),進(jìn)行擴(kuò)展。是最受歡迎和功能最強(qiáng)大的開(kāi)源消息傳遞和服務(wù)器。 ActiveMQ Server 服務(wù)端本地調(diào)試搭建 讓你更加熟悉源碼 一、ActiveMQ簡(jiǎn)介 最近項(xiàng)目中需要構(gòu)建一個(gè)消息推送的服務(wù)端,要求是需要基于MQTT,不想使用第三方...
摘要:前言是一款幫助調(diào)試代碼的擴(kuò)展主要功能有堆棧跟蹤代碼覆蓋率分析垃圾收集統(tǒng)計(jì)遠(yuǎn)程調(diào)試其中最有用的功能就屬遠(yuǎn)程調(diào)試了,下面就一步步來(lái)搭建。它檢查和變量以找出使用哪個(gè)地址。 前言 xdebug是一款幫助php調(diào)試代碼的擴(kuò)展,主要功能有 堆棧跟蹤 代碼覆蓋率分析 垃圾收集統(tǒng)計(jì) 遠(yuǎn)程調(diào)試 其中最有用的功能就屬遠(yuǎn)程調(diào)試了,下面就一步步來(lái)搭建xdebug。從sublime轉(zhuǎn)到atom后,發(fā)現(xiàn)ato...
摘要:前言是一款幫助調(diào)試代碼的擴(kuò)展主要功能有堆棧跟蹤代碼覆蓋率分析垃圾收集統(tǒng)計(jì)遠(yuǎn)程調(diào)試其中最有用的功能就屬遠(yuǎn)程調(diào)試了,下面就一步步來(lái)搭建。它檢查和變量以找出使用哪個(gè)地址。 前言 xdebug是一款幫助php調(diào)試代碼的擴(kuò)展,主要功能有 堆棧跟蹤 代碼覆蓋率分析 垃圾收集統(tǒng)計(jì) 遠(yuǎn)程調(diào)試 其中最有用的功能就屬遠(yuǎn)程調(diào)試了,下面就一步步來(lái)搭建xdebug。從sublime轉(zhuǎn)到atom后,發(fā)現(xiàn)ato...
閱讀 2310·2023-04-25 14:22
閱讀 3748·2021-11-15 18:12
閱讀 1303·2019-08-30 15:44
閱讀 3224·2019-08-29 15:37
閱讀 653·2019-08-29 13:49
閱讀 3466·2019-08-26 12:11
閱讀 886·2019-08-23 18:28
閱讀 1592·2019-08-23 14:55