From dddc5e6586e91d81f6b51b1fcaf291a3471bd50a Mon Sep 17 00:00:00 2001 From: Administrator <ard@qq.com> Date: 星期四, 29 二月 2024 15:07:53 +0800 Subject: [PATCH] 优化ptz --- 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