HiveMQ broker maven項目轉化及運行環境搭建

一 安裝目標

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% 僅供參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章