一 安裝目標
1 實現在本地環境開發和運行hiveMq Server端
二 安裝軟件準備 (僅windows)
♦1 JDK 11
hiveMQ broker運行環境目前僅支持jdk11及以上版本;推薦oracle官方版本 jdk-11.0.3_windows-x64_bin
♦2 gradle
hiveMQ的默認構建方式爲gradle,本地需要安裝gradle環境,目前hiveMQ僅支持gradle 4.0+ 以上的版本構建;推薦版本 gradle5.4.1
♦3 Intellij IDEA
由於JDK11是18年9月份發佈的,比較新,老版本的idea不能很好的支持,需要下載安裝新版本的idea,推薦最新版本 2019.1.2
三 環境構建注意事項
1 jdk11安裝後,不會自動安裝JRE,需要使用命令行來生成JRE環境
在jdk11的安裝目錄下執行如下命令即可生成:
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre |
注意: 鑑於大多數同學本機的開發環境jdk版本爲8,安裝jdk11後,需要對環境變量做路徑切換,否則會影響gradle構建環境使用的jdk版本,可能會帶來問題,下面介紹;
2 gradle 安裝後,注意檢查gradle依賴的JDK版本 否則項目構建不成功
3 項目clone後,注意切換idea的jdk版本爲11
三 服務驗證
1 啓動服務端 TCP協議
指定com.hivemq.HiveMQServer的main方法爲啓動方法並運行,hiveMq啓動默認端口號1883
2019-05-28 09:24:55,047 INFO - Starting HiveMQ Community Edition Server 2019-05-28 09:24:55,056 INFO - HiveMQ version: Development Snapshot 2019-05-28 09:24:55,056 INFO - HiveMQ home directory: E:\IDEAWorkspace\mygit\hivemq-community-edition\${HOME}\hivemq4home 2019-05-28 09:24:56,516 WARN - The logging configuration file E:\IDEAWorkspace\mygit\hivemq-community-edition\${HOME}\hivemq4home\conf\logback.xml does not exist. Using HiveMQ default logging configuration. 2019-05-28 09:24:56,533 ERROR - The configuration file folder E:\IDEAWorkspace\mygit\hivemq-community-edition\${HOME}\hivemq4home\conf does not exist. Using HiveMQ default config 2019-05-28 09:24:56,550 INFO - This HiveMQ ID is WT4J5 2019-05-28 09:24:58,329 INFO - Starting HiveMQ extension system. 2019-05-28 09:24:58,354 INFO - Starting TCP listener on address 0.0.0.0 and port 1883 2019-05-28 09:24:59,053 INFO - Started TCP Listener on address 0.0.0.0 and on port 1883 2019-05-28 09:24:59,053 INFO - Started HiveMQ in 4027ms |
2 啓動client端驗證消息傳遞
可以使用支持mqtt3.x 5.x的client工具,比如eclipse的paho或mqtt-hivemq-client
指定服務端的tcp鏈接地址、topic、clientId
public static final String HOST = "tcp://10.200.182.73:1884"; public static final String TOPIC = "topic01"; private static final String clientid = "myClient"; |
四 對gradle做maven項目轉換
1 修改配置文件中的gradle下載鏈接爲本地的gradle壓縮包或者安裝目錄,否則每次構建都會進行gradle文件下載
2 修改build.gradle文件添加gradle轉化maven的項目配置信息如下
apply plugin: 'java' sourceCompatibility = 10 targetCompatibility = 10 version = '2019.1' task writeNewPom { pom { project { inceptionYear '2008' licenses { license { name 'The Apache Software License, Version 2.0' url 'http://www.apache.org/licenses/LICENSE-2.0.txt' distribution 'repo' } } } }.writeTo("$buildDir/../pom.xml") } |
使用gradle的task命令執行writeNewPom對項目進行轉換,成功後會在根目錄下生成pom.xml文件,即可使用maven進行構建
注意:生成的pom文件並沒有對子moduler生成,後期需完善,目前是採用將子moduler的package包合併到了主項目中
五 使用tsung對hivemq broker進行壓力測試
虛擬環境下3000qps cpu使用率80% 僅供參考