From 873b05ed68b2eabf2152954e88dc5598a8aeb8ea Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 15 七月 2025 15:56:41 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java
index a76477a..9fbd581 100644
--- a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java
@@ -140,8 +140,23 @@
     public void reconnect() {
         while (!mqttClient.isConnected()) {
             try {
-                mqttClient.connect();
+                // MQTT的连接设置
+                MqttConnectOptions options = new MqttConnectOptions();
+                options.setUserName(USER_NAME);
+                options.setPassword(PASS_WORD.toCharArray());
+                // 设置超时时间 单位为秒
+                options.setConnectionTimeout(TIME_OUT);///默认:30
+                // 设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录,设置为true表示每次连接到服务器都以新的身份连接
+                options.setCleanSession(true);//默认:true
+                // 设置断开后重新连接(设置为true时将启用自动重新连接)
+                options.setAutomaticReconnect(true);//默认:false
+                // 设置会话心跳时间 单位为秒 服务器会每隔1.5*20秒的时间向客户端发送个消息判断客户端是否在线,但这个方法并没有重连的机制
+                options.setKeepAliveInterval(KEEP_ALIVE);//默认:60
+                mqttClient.connect(options);
+                System.out.println("重连成功");
             } catch (MqttException e) {
+                System.out.println("重连失败");
+                log.info("connectionLost e:{}", e.getMessage());
                 e.printStackTrace();
             }
         }

--
Gitblit v1.7.1