From 38f29e38fcc668171dc05c53d40a36b895c86102 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期四, 10 十月 2024 13:34:28 +0800
Subject: [PATCH] init

---
 ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumer.java |   35 ++++++++++++++++++++++++++++-------
 1 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumer.java b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumer.java
index 37a4a18..35b6dad 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumer.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumer.java
@@ -3,8 +3,10 @@
 import lombok.extern.slf4j.Slf4j;
 import org.eclipse.paho.client.mqttv3.*;
 import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
+import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Component;
 import java.io.UnsupportedEncodingException;
 /**
@@ -16,14 +18,33 @@
  **/
 @Component
 @Slf4j(topic = "mqtt")
+@Order(1)
 public class MqttConsumer implements ApplicationRunner {
 
+    @Value("${mqtt.enabled}")
+    private Boolean MQTT_ENABLED;
+    @Value("${mqtt.topic}")
+    private String MQTT_TOPIC;
+    @Value("${mqtt.host}")
+    private String MQTT_HOST;
+    @Value("${mqtt.clientId}")
+    private String MQTT_CLIENT_ID;
+    @Value("${mqtt.username}")
+    private String MQTT_USER_NAME;
+    @Value("${mqtt.password}")
+    private String MQTT_PASSWORD;
+    @Value("${mqtt.timeout}")
+    private int MQTT_TIMEOUT;
+    @Value("${mqtt.keepalive}")
+    private int MQTT_KEEP_ALIVE;
+
     private static MqttClient client;
+
 
     @Override
     public void run(ApplicationArguments args) {
         log.debug("鍒濆鍖栧苟鍚姩mqtt......");
-        if(PropertiesUtil.MQTT_ENABLED)
+        if(MQTT_ENABLED)
         {
             this.connect();
         }
@@ -38,7 +59,7 @@
             getClient();
             // 2 璁剧疆閰嶇疆
             MqttConnectOptions options = getOptions();
-            String[] topic = PropertiesUtil.MQTT_TOPIC.split(",");
+            String[] topic = MQTT_TOPIC.split(",");
             // 3 娑堟伅鍙戝竷璐ㄩ噺
             int[] qos = getQos(topic.length);
             // 4 鏈�鍚庤缃�
@@ -54,7 +75,7 @@
     public void getClient() {
         try {
             if (null == client) {
-                client = new MqttClient(PropertiesUtil.MQTT_HOST, PropertiesUtil.MQTT_CLIENT_ID, new MemoryPersistence());
+                client = new MqttClient(MQTT_HOST, MQTT_CLIENT_ID, new MemoryPersistence());
             }
             log.debug("--鍒涘缓mqtt瀹㈡埛绔�");
         } catch (Exception e) {
@@ -68,12 +89,12 @@
     public MqttConnectOptions getOptions() {
         MqttConnectOptions options = new MqttConnectOptions();
         //璁剧疆鐢ㄦ埛鍚嶅瘑鐮�
-        options.setUserName(PropertiesUtil.MQTT_USER_NAME);
-        options.setPassword(PropertiesUtil.MQTT_PASSWORD.toCharArray());
+        options.setUserName(MQTT_USER_NAME);
+        options.setPassword(MQTT_PASSWORD.toCharArray());
         // 璁剧疆瓒呮椂鏃堕棿
-        options.setConnectionTimeout(PropertiesUtil.MQTT_TIMEOUT);
+        options.setConnectionTimeout(MQTT_TIMEOUT);
         // 璁剧疆浼氳瘽蹇冭烦鏃堕棿
-        options.setKeepAliveInterval(PropertiesUtil.MQTT_KEEP_ALIVE);
+        options.setKeepAliveInterval(MQTT_KEEP_ALIVE);
         // 鏄惁娓呴櫎session
         options.setCleanSession(true);
         log.debug("--鐢熸垚mqtt閰嶇疆瀵硅薄");

--
Gitblit v1.9.3