From 69310a7de3d963c2bf46250b0965a2c7e8532f1e Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 29 七月 2025 13:40:56 +0800
Subject: [PATCH] mqtt调整:实现订阅多个mqtt服务

---
 ruoyi-admin-ztns/src/main/java/com/ruoyi/web/MqttApplicationRunner.java |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/ruoyi-admin-ztns/src/main/java/com/ruoyi/web/MqttApplicationRunner.java b/ruoyi-admin-ztns/src/main/java/com/ruoyi/web/MqttApplicationRunner.java
index 854d84a..7474bee 100644
--- a/ruoyi-admin-ztns/src/main/java/com/ruoyi/web/MqttApplicationRunner.java
+++ b/ruoyi-admin-ztns/src/main/java/com/ruoyi/web/MqttApplicationRunner.java
@@ -1,13 +1,16 @@
 package com.ruoyi.web;
 
+import com.ruoyi.device.mqtt.DeviceMqttConfig;
 import com.ruoyi.device.mqtt.MQClient;
 import com.ruoyi.device.mqtt.MQConfig;
 import lombok.extern.slf4j.Slf4j;
+import org.eclipse.paho.client.mqttv3.MqttException;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
 import org.springframework.stereotype.Component;
+
+import java.util.Objects;
 
 @Component
 @Slf4j
@@ -16,14 +19,18 @@
 	@Autowired
 	private MQConfig mqConfig;
 
-	@Value("${mqtt.client}")
-	private Boolean client;
+//	@Value("${mqtt.client}")
+//	private Boolean client;
 
 	@Override
-	public void run(ApplicationArguments args) throws Exception {
-		if (client) {
-			MQClient mqttPushClient = new MQClient();
-			mqttPushClient.connect(mqConfig);
+	public void run(ApplicationArguments args) throws MqttException {
+		if(Objects.nonNull(mqConfig)){
+			for (DeviceMqttConfig deviceMqttConfig : mqConfig.getMqtt()) {
+				if (deviceMqttConfig.getClient()) {
+					MQClient mqttPushClient = new MQClient();
+					mqttPushClient.connect(deviceMqttConfig);
+				}
+			}
 		}
 	}
 }

--
Gitblit v1.9.3