From c5a4733debc9c2fe0c75f73e0c31cc9c9d4c560c Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 15 七月 2025 11:39:39 +0800
Subject: [PATCH] 硬件数据推送

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

diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java
index d1cab39..ef85729 100644
--- a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java
@@ -35,7 +35,7 @@
     /**
      * 每天的9点执行的任务
      */
-    @Scheduled(cron = "0 0 11 * * *")
+    @Scheduled(cron = "0 0 12 * * ?")
     public void taskDay(){
         try {
             // 传输mongodb的硬件数据
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