一 安装目标

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% 仅供参考

HiveMQ broker maven项目转化及运行环境搭建相关推荐

  1. 解决maven项目打包后运行jar,提示没有主清单属性

    问题: Maven项目生成jar运行时提示"没有主清单属性" 解决: pom文件添加一下配置 <build><plugins><plugin>& ...

  2. Maven项目的介绍、入门搭建

    Maven项目的介绍.入门搭建 一.什么是Maven项目 Maven 是 Apache 组织下的一个跨平台的项目管理工具,它主要用来帮助实现项目的构建.测试.打包和部署.Maven 提供了标准的软件生 ...

  3. java服务器要二次编译,ecology项目二次开发环境搭建

    ecology项目二次开发环境搭建 Submitted By Weaver 文档版本控制 文档简要信息: 文档主题(Title) ecology项目二次开发环境搭建 作者(Author) 审批者 (T ...

  4. 大数据技术之Hadoop(入门)概述、运行环境搭建、运行模式

    文章目录 1 Hadoop 概述 1.1 Hadoop 是什么 1.2 Hadoop 优势 1.3 Hadoop 组成(面试重点) 1.3.1 HDFS 架构概述 1.3.2 YARN 架构概述 1. ...

  5. 大数据之Hadoop3.x 运行环境搭建(手把手搭建集群)

    文章目录 写在开头 安装包准备 一.Hadoop运行环境搭建(开发重点) 1.1 模板虚拟机环境准备 1.2 克隆虚拟机 1.3 在hadoop102安装JDK 1.4 在hadoop102安装Had ...

  6. 基于RK3308的ROS运行环境搭建和交叉编译

    基于RK3308的ROS运行环境搭建和交叉编译 固件编译环境 准备工作 软件包安装 交叉编译工具链介绍 下载 SDK SDK 目录结构 全自动编译脚本 烧写镜像文件 第一步,编译固件(ubuntu18 ...

  7. vs2017运行环境_从零开始针对 .NET 应用的 DevOps 运营实践 运行环境搭建

    一.Overview 最近的一段时间,在公司里我都在进行基于 Jenkins 和 SonarQube 配合已有的 Gitlab 搭建部门的持续集成环境的工作,虽然之前有使用过 GitHub Actio ...

  8. Hadoop入门(上):大数据特点、大数据前景、大数据组织结构、Hadoop组成、Hadoop版本介绍、Hadoop运行环境搭建、CentOS6安装JDK、安装Hadoop、Hadoop目录结构

    资料来源于尚硅谷 本篇文章目录 第1章·大数据概论 1.1.大数据概念. 1.2.大数据特点(4V) 1.3.大数据应用场景 1.4.大数据发展前景 1.5·大数据部门业务流程分析. 1.6·大数据部 ...

  9. 2012 iis php mysql_Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建wordpress博客教程

    Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程 一.环境说明: 操作系统:Windows Server2012 R2 PHP版本:php 5.5.8 MySQ ...

最新文章

  1. Sql Server系列:触发器
  2. java 递归return_java递归和反向递归
  3. qdbus 复杂类型
  4. 【深度学习】图片分类CNN模板
  5. Serverless实战 —— ​​​​​​​Laravel + Serverless Framework 快速创建 CMS 内容管理系统
  6. 教你轻松搞定javascript中的正则
  7. Python3进制转换
  8. 双证书体系key usage扩展——Outlook使用证书发送加密签名邮件
  9. 百度金融与农业银行战略合作,AI +金融的开放故事讲得好吗?
  10. 2021年应届生,找java后端开发要什么水平才算合格?
  11. A-priori算法的简单实现
  12. html5 讯飞离线语音包,讯飞输入法离线语音怎么用?讯飞输入法离线语音开启方法...
  13. PostgreSQL实现USERENV函数(兼容oracle)
  14. JD京东爬虫-商品评论爬虫-----附源码
  15. USTC English Club Note20211227
  16. 排序(基于Java语言编写)
  17. Python自动登陆淘宝并爬取商品数据
  18. cocos2dx 更改帧频
  19. 【操作系统】最高响应比优先的进程调度算法-C语言(有代码)
  20. ADI Blackfin DSP处理器-BF533的开发详解14:LED跑马灯(含源代码)

热门文章

  1. 迭代加深搜索与埃及分数求解
  2. Codeforces344_C(数学思维)
  3. [luogu2664]树上游戏
  4. DDoS攻击原理及防护方法论
  5. Java类加载器(一)——类加载器层次与模型
  6. 回溯算法团灭子集、排列、组合问题
  7. LiveVideoStackCon 2022 上海站 专题抢先看
  8. Google发布Objectron数据集
  9. 【大会】看案例,选方案
  10. LiveVideoStack线上交流分享 ( 七) —— 舞台现场直播技术实践