中间件修改内容:
1、当没农业综合站时即没相关配置项目内容为空时,启动时会产生bug;
2、整理优化代码。
4个文件已修改
21 ■■■■ 已修改文件
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttManager.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttMessageListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/ys/YsAppClient.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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(";", ";");
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttManager.java
@@ -64,7 +64,10 @@
            throw new Exception("Mqtt连接池获得订阅连接不可用");
        }
        subClients.add(clientSub) ;
        // 订阅主题
        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 + "/"
@@ -95,6 +98,8 @@
            }
        }
    }
        }
    }
    public void stop()throws Exception{
        if(subClients != null && subClients.size() > 0){
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
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过期时间,单位天