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服务 --- cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java | 35 ++++++++++++++++------------------- 1 files changed, 16 insertions(+), 19 deletions(-) diff --git a/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java b/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java index 9cc678f..f85eab0 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java +++ b/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java @@ -1,15 +1,8 @@ package com.ruoyi.device.mqtt; -import cn.hutool.core.collection.CollectionUtil; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.TypeReference; -import com.ruoyi.device.constant.DCResistanceMqttConstants; import com.ruoyi.device.service.CollectBridgeService; -import com.ruoyi.device.vo.DCResistanceMqttVO; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; import org.eclipse.paho.client.mqttv3.MqttCallback; import org.eclipse.paho.client.mqttv3.MqttMessage; @@ -17,17 +10,14 @@ import javax.annotation.PostConstruct; import javax.annotation.Resource; -import java.util.List; -import java.util.Map; -import java.util.Objects; @Component @Slf4j -public class MQCallback<component> implements MqttCallback { +public class MQCallback implements MqttCallback { - private MQClient mqClient; // MQTT杩炴帴鏁版嵁 + private final MQClient mqClient; // MQTT杩炴帴鏁版嵁 - private MQConfig mqConfig; // yml閰嶇疆鏁版嵁 + private final DeviceMqttConfig mqConfig; // yml閰嶇疆鏁版嵁 private static MQCallback mqCallback; @@ -41,7 +31,7 @@ mqCallback.collectBridgeService = this.collectBridgeService; } - public MQCallback(MQClient mqClient, MQConfig mqConfig) { + public MQCallback(MQClient mqClient, DeviceMqttConfig mqConfig) { this.mqClient = mqClient; this.mqConfig = mqConfig; } @@ -74,17 +64,24 @@ * MQTT鏈嶅姟鍣ㄥ悜WEB鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁浼氭墽琛屽埌杩欓噷闈紝瀹樻柟璇濈О涓猴細璁㈤槄鍚庣殑娑堟伅 * @param topic 涓婚锛氫篃绉颁负搴曞眰缃戝叧鍞竴鏍囪瘑 * @param message 淇℃伅 - * @throws Exception 鎶ラ敊 */ @Override - public void messageArrived(String topic, MqttMessage message) throws Exception { + public void messageArrived(String topic, MqttMessage message) { try { String parse = new String(message.getPayload()); -// JSONObject jsonObject = JSONObject.parseObject(parse); + switch (topic){ + case "/ztt/v3/2455220/publish": + //鑰愪笣锛氱洿娴佺數闃绘暟鎹В鏋� + mqCallback.collectBridgeService.addBridgeValueByNS(parse); + break; + case "/ztt/v3/2455221/publish": + //鑰愪笣锛氫几闀跨巼鏁版嵁瑙f瀽 + log.info("浼搁暱鐜囨秷鎭綋锛歿}",parse); + break; + } // 濉厖閲囬泦鏁版嵁 +// JSONObject jsonObject = JSONObject.parseObject(parse); // mqCallback.collectBridgeService.addBridgeValue(jsonObject); - //鑰愪笣锛氱洿娴佺數闃绘暟鎹В鏋� - mqCallback.collectBridgeService.addBridgeValueByNS(parse); } catch (Exception e) { e.printStackTrace(); -- Gitblit v1.9.3