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% 仅供参考
HiveMQ broker maven项目转化及运行环境搭建相关推荐
- 解决maven项目打包后运行jar,提示没有主清单属性
问题: Maven项目生成jar运行时提示"没有主清单属性" 解决: pom文件添加一下配置 <build><plugins><plugin>& ...
- Maven项目的介绍、入门搭建
Maven项目的介绍.入门搭建 一.什么是Maven项目 Maven 是 Apache 组织下的一个跨平台的项目管理工具,它主要用来帮助实现项目的构建.测试.打包和部署.Maven 提供了标准的软件生 ...
- java服务器要二次编译,ecology项目二次开发环境搭建
ecology项目二次开发环境搭建 Submitted By Weaver 文档版本控制 文档简要信息: 文档主题(Title) ecology项目二次开发环境搭建 作者(Author) 审批者 (T ...
- 大数据技术之Hadoop(入门)概述、运行环境搭建、运行模式
文章目录 1 Hadoop 概述 1.1 Hadoop 是什么 1.2 Hadoop 优势 1.3 Hadoop 组成(面试重点) 1.3.1 HDFS 架构概述 1.3.2 YARN 架构概述 1. ...
- 大数据之Hadoop3.x 运行环境搭建(手把手搭建集群)
文章目录 写在开头 安装包准备 一.Hadoop运行环境搭建(开发重点) 1.1 模板虚拟机环境准备 1.2 克隆虚拟机 1.3 在hadoop102安装JDK 1.4 在hadoop102安装Had ...
- 基于RK3308的ROS运行环境搭建和交叉编译
基于RK3308的ROS运行环境搭建和交叉编译 固件编译环境 准备工作 软件包安装 交叉编译工具链介绍 下载 SDK SDK 目录结构 全自动编译脚本 烧写镜像文件 第一步,编译固件(ubuntu18 ...
- vs2017运行环境_从零开始针对 .NET 应用的 DevOps 运营实践 运行环境搭建
一.Overview 最近的一段时间,在公司里我都在进行基于 Jenkins 和 SonarQube 配合已有的 Gitlab 搭建部门的持续集成环境的工作,虽然之前有使用过 GitHub Actio ...
- Hadoop入门(上):大数据特点、大数据前景、大数据组织结构、Hadoop组成、Hadoop版本介绍、Hadoop运行环境搭建、CentOS6安装JDK、安装Hadoop、Hadoop目录结构
资料来源于尚硅谷 本篇文章目录 第1章·大数据概论 1.1.大数据概念. 1.2.大数据特点(4V) 1.3.大数据应用场景 1.4.大数据发展前景 1.5·大数据部门业务流程分析. 1.6·大数据部 ...
- 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 ...
最新文章
- Sql Server系列:触发器
- java 递归return_java递归和反向递归
- qdbus 复杂类型
- 【深度学习】图片分类CNN模板
- Serverless实战 —— ​​​​​​​Laravel + Serverless Framework 快速创建 CMS 内容管理系统
- 教你轻松搞定javascript中的正则
- Python3进制转换
- 双证书体系key usage扩展——Outlook使用证书发送加密签名邮件
- 百度金融与农业银行战略合作,AI +金融的开放故事讲得好吗?
- 2021年应届生,找java后端开发要什么水平才算合格?
- A-priori算法的简单实现
- html5 讯飞离线语音包,讯飞输入法离线语音怎么用?讯飞输入法离线语音开启方法...
- PostgreSQL实现USERENV函数(兼容oracle)
- JD京东爬虫-商品评论爬虫-----附源码
- USTC English Club Note20211227
- 排序(基于Java语言编写)
- Python自动登陆淘宝并爬取商品数据
- cocos2dx 更改帧频
- 【操作系统】最高响应比优先的进程调度算法-C语言(有代码)
- ADI Blackfin DSP处理器-BF533的开发详解14:LED跑马灯(含源代码)