MQTT Java入门-搭建MQTT服务器

编程教程 > Java (2540) 2024-11-26 14:39:04
MQTT协议 Java入门教程,通过Apache ActiveMQ Artemis搭建MQTT服务器。

首先下载Apache ActiveMQ Artemis,目前Apache ActiveMQ Artemis 主要版本有2.19.x和2.20.x,需要注意2.19.x需要的jdk环境是1.8即可,2.20.x需要jdk11+,这里我使用的是2.19.x。Apache ActiveMQ Artemis 支持 MQTT v3.1.1,更多MQTT支持信息可以查看ActiveMQ (apache.org)

Apache ActiveMQ Artemis下载

apache-artemis-2.19.1-bin.zip
下载好文件以后,移动到/opt目录并解压
mv apache-artemis-2.19.1-bin.zip /opt
cd /opt
unzip apache-artemis-2.19.1-bin.zip

进入bin目录
cd apache-artemis-2.19.1/bin

创建broker

./artemis create broker
根据提示输入账号和密码
Creating ActiveMQ Artemis instance at: /opt/apache-artemis-2.19.1/bin/broker

--user:
Please provide the default username:
admin

--password: is mandatory with this configuration:
Please provide the default password:


--allow-anonymous | --require-login:
Allow anonymous access?, valid values are Y,N,True,False
N

Auto tuning journal ...
done! Your system can make 14.71 writes per millisecond, your journal-buffer-timeout will be 68000

You can now start the broker by executing:  

   "/opt/apache-artemis-2.19.1/bin/broker/bin/artemis" run

Or you can run the broker in the background using:

   "/opt/apache-artemis-2.19.1/bin/broker/bin/artemis-service" start

完成后 会给出启动命令

broker访问权限配置

cd borker/etc
vi jolokia-access.xml

broker访问权限配置

修改bootstrap.xml配置web的访问地址
默认是
   <web bind="http://localhost:8161" path="web">
       <app url="activemq-branding" war="activemq-branding.war"/>
       <app url="artemis-plugin" war="artemis-plugin.war"/>
       <app url="console" war="console.war"/>
   </web>
修改为自己电脑的局域网ip,端口注意不冲突就行
   <!-- The web server is only bound to localhost by default -->
   <web bind="http://192.168.79.133:8161" path="web">
       <app url="activemq-branding" war="activemq-branding.war"/>
       <app url="artemis-plugin" war="artemis-plugin.war"/>
       <app url="console" war="console.war"/>
   </web>

启动broker

"/opt/apache-artemis-2.19.1/bin/broker/bin/artemis-service" start

启动命令来源于创建broker时候的提示
重启命令

"/opt/apache-artemis-2.19.1/bin/broker/bin/artemis-service" restart

有可能61616端口不能访问

firewall-cmd --query-port=61616/tcp  // 查看端口是否已开
firewall-cmd --add-port=61616/tcp --permanent    //添加端口
firewall-cmd --reload  //重新载入端口
 

登录到控制台

http://192.168.79.133:8161/console/login   
控制台

登录账号和密码就是创建时候填写的账号密码
登录成功后看到控制面板
登录成功后看到控制面板

acceptors下面可以看到mqtt协议的支持
mqtt协议的支持

下一步将讲解spring boot 接受和发送MQTT消息

 

评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
MQTT协议 Java入门教程,通过Apache ActiveMQ Artemis搭建MQTT服务器。首先下载Apache ActiveMQ Artemis,目前Apache ActiveMQ ...
Spring Boot MQTT协议通过spring boot整合apache artemis实现Java语言MQTT协议通信,搭建MQTT服务器可以参考上一篇 MQTT Java入门-搭建MQ...
npm通过verdaccio搭建私服镜像库,以此提高本地多人协同install速度。verdaccio安装方式选为docker方式。docker相关知识可以查看
前言服务器安全是网络维护人员的重要工作,前面通过fail2ban添加了一套安全机制Fail2Ban安装和使用保护SSH免受暴力攻击-XQLEE'Blog,这里再
概述商用项目中使用开源协议模块/框架是一个比较流行的开发模式。但是也需要避免一些开源协议的坑。这里主要记录下哪些对商用无害,哪些商用容易坑。 推荐商用的开源协议
HTTP协议2.0,HTTP 2.0如何升级_HTTP2.0新特性_HTTP2.0详解。
前言本文主要讲述HTTPS协议如何保证安全或者说什么是HTTPS协议。近年来,随着用户和互联网企业安全意识的提高和 HTTPS 成本的下降,HTTPS 已经越来
一 frp搭建准备frp软件(由于github访问不稳定这里存了一份在网盘frp: (访问密码: 9987)一台有公网ip的云服务器srvany.exe ins
创建Copyright Profile打开IDEA设置,依次进入 Editor→Copyright→Copyright Profiles如上图所示,点击Add
Docker swarm 简介Docker swarm 集群,Docker swarm是docker官方提供的一种集群方式,用于小量微服务部署还算不错,比庞大的k8s体系更轻量。节点 运行 Do...
spring boot又一个spring框架的经典项目,本文讲解spring boot入门的环境配置以及第一个项目,Spring Boot 入门教程
Java中实现SAMBA协议文件的上传和文件下载package org.xqlee.utils.samba;import java.io.BufferedInp
前言spring boot 项目常用的几个类设计,方便快速搭建项目错误处理模块。代码片段 错误枚举定义@Getterpublic enum ErrorCodeE
前言笔者所在项目组在搭建一个全新项目的时候选用了SpringBoot3.x,项目中应用了很多SpringBoot2.x时代相关的第三方组件例如baomidou出
summernote 粘贴图片上传到服务器以下为关键代码//初始化富文本 $('#description').summernote('destroy'); ...