From d9d08181a94d727a4fe5933ac9efd1ff5c8a7c5a Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 16 七月 2025 13:49:13 +0800 Subject: [PATCH] 中间件修改内容: 1、当没农业综合站时即没相关配置项目内容为空时,启动时会产生bug; 2、整理优化代码。 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java | 13 ++---- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttMessageListener.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/ys/YsAppClient.java | 1 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttManager.java | 53 ++++++++++++++------------ 4 files changed, 34 insertions(+), 35 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java index 49d25ec..c4f0771 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java @@ -481,10 +481,8 @@ ServerProperties.mqttAcceptDataMinInterval = conf.getSetAttrPlusInt(doc, "config.mqtt", "acceptDataMinInterval", null, 1, 720, null) * 60 * 1000L ; mqVo.useMemoryPersistence = conf.getSetAttrBoolean(doc, "config.mqtt", "useMemoryPersistence", null, null) ; - String proAndDevIds = conf.getSetAttrTxt(doc, "config.mqtt", "protocolAndDeviceIds", null, false, null) ; - if(proAndDevIds == null || proAndDevIds.trim().equals("")){ - throw new Exception("config.mqtt.protocolAndDeviceIds閰嶇疆涓嶅悎娉�") ; - }else{ + String proAndDevIds = conf.getSetAttrTxt(doc, "config.mqtt", "protocolAndDeviceIds", null, true, null) ; + if(proAndDevIds != null && !proAndDevIds.trim().equals("")){ proAndDevIds = proAndDevIds.trim() ; proAndDevIds = proAndDevIds.replaceAll("锛�", ","); proAndDevIds = proAndDevIds.replaceAll("锛�", ";"); @@ -499,11 +497,8 @@ } } - - String subTopicAndQos = conf.getSetAttrTxt(doc, "config.mqtt", "subTopicAndQos", null, false, null) ; - if(subTopicAndQos == null || subTopicAndQos.trim().equals("")){ - throw new Exception("config.mqtt.subTopicAndQos閰嶇疆鐨勪富棰樺強Qos涓嶅悎娉�") ; - }else{ + String subTopicAndQos = conf.getSetAttrTxt(doc, "config.mqtt", "subTopicAndQos", null, true, null) ; + if(subTopicAndQos != null && !subTopicAndQos.trim().equals("")){ subTopicAndQos = subTopicAndQos.trim() ; subTopicAndQos = subTopicAndQos.replaceAll("锛�", ","); subTopicAndQos = subTopicAndQos.replaceAll("锛�", ";"); diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttManager.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttManager.java index 8085e91..1c92e9d 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttManager.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttManager.java @@ -64,34 +64,39 @@ throw new Exception("Mqtt杩炴帴姹犺幏寰楄闃呰繛鎺ヤ笉鍙敤"); } subClients.add(clientSub) ; + // 璁㈤槄涓婚 - for(int i = 0; i < this.configVo.subTopics.length; i++){ - for(int j = 0 ; j < this.configVo.protocolAndDeviceIds.length; j++){ - clientSub.subscribe(ServerProperties.orgTag + "/" - + this.configVo.protocolAndDeviceIds[j] + "/" - + this.configVo.subTopics[i], - this.configVo.subTopicsQos[i], - //姣忎竴涓闃呬富棰橀兘鏈変竴涓狹qttMessageListener瀹炰緥 - new MqttMessageListener(new MqttNotify(){ - @Override - public void notify(String devId, MqttNotifyInfo... infos) { - if(devId != null && infos != null && infos.length > 0){ - for(MqttNotifyInfo info : infos){ - if(info instanceof DevOnLineInfo){ - DevOnLineInfo onLineSt = (DevOnLineInfo)info; - if(onLineSt.onLine != null && onLineSt.onLine.booleanValue()){ - DevStatusDealer.onLine(devId, ((DevOnLineInfo)info).protocol); - }else{ - DevStatusDealer.offLine(devId); + if(this.configVo.subTopics != null && this.configVo.subTopics.length > 0){ + if(this.configVo.protocolAndDeviceIds != null || this.configVo.protocolAndDeviceIds.length > 0){ + for(int i = 0; i < this.configVo.subTopics.length; i++){ + for(int j = 0 ; j < this.configVo.protocolAndDeviceIds.length; j++){ + clientSub.subscribe(ServerProperties.orgTag + "/" + + this.configVo.protocolAndDeviceIds[j] + "/" + + this.configVo.subTopics[i], + this.configVo.subTopicsQos[i], + //姣忎竴涓闃呬富棰橀兘鏈変竴涓狹qttMessageListener瀹炰緥 + new MqttMessageListener(new MqttNotify(){ + @Override + public void notify(String devId, MqttNotifyInfo... infos) { + if(devId != null && infos != null && infos.length > 0){ + for(MqttNotifyInfo info : infos){ + if(info instanceof DevOnLineInfo){ + DevOnLineInfo onLineSt = (DevOnLineInfo)info; + if(onLineSt.onLine != null && onLineSt.onLine.booleanValue()){ + DevStatusDealer.onLine(devId, ((DevOnLineInfo)info).protocol); + }else{ + DevStatusDealer.offLine(devId); + } + } else if(info instanceof DevRunInfo){ + DevStatusDealer.setStatus(devId, (DevRunInfo)info); + } } - } else if(info instanceof DevRunInfo){ - DevStatusDealer.setStatus(devId, (DevRunInfo)info); } } - } - } - }) - ); + }) + ); + } + } } } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttMessageListener.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttMessageListener.java index c109e53..2efc1f3 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttMessageListener.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttMessageListener.java @@ -29,7 +29,7 @@ public void callback(MqttSubMsg subMsg) { DevStatusDealer.onLine(subMsg.deviceId, subMsg.protocol); DevStatusDealer.afterReceiveSubMessage(subMsg.deviceId); - RtuLogDealer.log4Mqtt(subMsg.deviceId, "璁㈤槄娑堟伅 涓婚锛�" + subMsg.topic.longName() + " 鍏冩暟鎹細" + subMsg.metaData); + RtuLogDealer.log4Mqtt(subMsg.deviceId, "璁㈤槄娑堟伅 涓婚锛�" + subMsg.topic.longName() + " 鍘熸暟鎹細" + subMsg.metaData); } @Override diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/ys/YsAppClient.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/ys/YsAppClient.java index f4bf603..1357eb3 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/ys/YsAppClient.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/ys/YsAppClient.java @@ -25,7 +25,6 @@ private static final String JobGroupName = "VideoYsGroup" ; private static final Integer ThreadPoolMaxCount = 1 ;//绾跨▼姹犵嚎绋嬫渶澶т釜鏁� private static final Integer ThreadPoolPriority = 5 ;//绾跨▼浼樺厛绾� - private static final boolean quartzJobRunOneTimes = true ;//瀹氭椂浠诲姟鍙墽琛屼竴娆� @Value("${video.ys.accessTokenExpireDay: 7}") protected Integer accessTokenExpireDay;//AccessToken杩囨湡鏃堕棿锛屽崟浣嶅ぉ -- Gitblit v1.8.0