当前位置: 首页 > news >正文

mqtt paho java_Mqtt Paho(Java)的重连及使用

Mqtt Paho(Java)的重连及使用

此篇呢就说浅浅的说下Mqtt Paho的重连及使用.

还是一样,咋们先看下配置项

MqttConnectionOption里的配置里有setAutomaticReconnect这个选项

它需要放入一个布尔值(Boolean)来控制开关

1.True 设定为true时,mqtt的重连机制会启动,当mqtt client掉线之后它会进入重连.

2.False 设定为false时当然是不打开.

是否打开以上选项其实我们都需要做一个东西,就是实现mqtt的回调类MqttCallbackExtended或者MqttCallback.

这里先讲一下回调类

MqttCallbackExtended是继承了MqttCallback.他们有什么不同呢.

MqttCallback接口里面只有个3方法

connectionLost是在连接已经连上且丢失后走这里

messageArrived这个是消息发送到接收端时触发

deliveryComplete这个是发送完成

MqttCallbackExtended

它的话是多出了一个方法connectComplete

它是在丢失重连成功后会触发该方法

看完以上的功能,我相信小伙伴们就知道为什么需要实现回调类了,然后咋们继续来看下他们的使用。

以下是在setAutomaticReconnect为True的时候使用的.为什么这样说呢,因为如果不为true的情况下,它并不会触发connectComplete(原因以后的篇章会讲),上代码

如果为false就new 一个MqttCallback方法,然后再实现它的子类,然后实现自己想要的重连方式就好了.

但是有个地方要注意的就是这里不是使用reconnect()方法了,而是使用connect()方法来重连.

以上就可以实现mqtt掉线重连了.

还有一个需要注意的就是,如果你在消息发送到达接收端的时候,即接收端返回信息,触发messageArrived方法的时候不建议在方法里调用其他方法或者操作其他事情,因为这样会导致mqtt掉线的问题,这个博主也是屡试不爽哈哈,最后找到原因,详见链接(未写)

相关文章:

  • java timer和timertask_java定时器Timer和TimerTask详解
  • java 静态类在内存中只会有一个事例吗_Java 中的设计模式:解决一个类在内存只存在一个对象。...
  • eclipse中java项目泛型报错_Java泛型Eclipse编译器错误?
  • mysql-8.0.13安装教程_win10下mysql8.0.13安装配置方法图文教程
  • java的class对象_java中Class对象详解
  • java 调用 r语言_从Java里调用R – JRI的设置方法
  • java程序解释_编写并解释第一个java程序
  • java 面板作用_Java面板基础:JPanel和JScrollpane的应用区别
  • java错误_java错误
  • centos7网卡编辑_Centos7.4修改网卡为eth0
  • doubb超时_dubbo超时重试
  • java中类是什么的抽象_java 抽象类是 什么
  • java heap和stack区别_java heap和stack有什么区别
  • java字符串和json字符串区别_Json对象和Json字符串的区别
  • java没有这样的元素异常_java – 如何解决,Stale元素异常?如果元素不再附加到DOM?...
  • CAP理论的例子讲解
  • Docker容器管理
  • express如何解决request entity too large问题
  • golang 发送GET和POST示例
  • JDK9: 集成 Jshell 和 Maven 项目.
  • JWT究竟是什么呢?
  • k8s如何管理Pod
  • MD5加密原理解析及OC版原理实现
  • oldjun 检测网站的经验
  • 产品三维模型在线预览
  • 给第三方使用接口的 URL 签名实现
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 排序算法之--选择排序
  • 入口文件开始,分析Vue源码实现
  • 实习面试笔记
  • 异步
  • 译有关态射的一切
  • 06-01 点餐小程序前台界面搭建
  • 仓管云——企业云erp功能有哪些?
  • 我们雇佣了一只大猴子...
  • ​queue --- 一个同步的队列类​
  • ​学习一下,什么是预包装食品?​
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #define
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .Net Core和.Net Standard直观理解
  • .net framework4与其client profile版本的区别
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • /var/log/cvslog 太大
  • @WebService和@WebMethod注解的用法
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [ 云计算 | AWS 实践 ] 基于 Amazon S3 协议搭建个人云存储服务
  • []使用 Tortoise SVN 创建 Externals 外部引用目录