64850858
2021-06-18 d09ee0c2ff93c799b0c19481f0890a5be5a2db03
解决启动设置所有设备离线未删除redis记录
4个文件已修改
18 ■■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/common/VideoManagerConstants.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/conf/SipDeviceRunner.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/common/VideoManagerConstants.java
@@ -16,7 +16,7 @@
    public static final String CACHEKEY_PREFIX = "VMP_channel_";
    public static final String KEEPLIVEKEY_PREFIX = "VMP_keeplive_";
    public static final String KEEPLIVEKEY_PREFIX = "VMP_KEEPLIVE_";
    public static final String PLAYER_PREFIX = "VMP_player_";
src/main/java/com/genersoft/iot/vmp/conf/SipDeviceRunner.java
@@ -29,5 +29,7 @@
    public void run(String... args) throws Exception {
        // 设置所有设备离线
        storager.outlineForAll();
        // 设置所有设备离线
        redisCatchStorage.outlineForAll();
    }
}
src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
@@ -112,4 +112,9 @@
     * @param deviceId 设备ID
     */
    void clearCatchByDeviceId(String deviceId);
    /**
     * 设置所有设备离线
     */
    void outlineForAll();
}
src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
@@ -293,4 +293,13 @@
            }
        }
    }
    @Override
    public void outlineForAll() {
        List<Object> onlineDevices = redis.scan(String.format("%S*", VideoManagerConstants.KEEPLIVEKEY_PREFIX));
        for (int i = 0; i < onlineDevices.size(); i++) {
            String key = (String) onlineDevices.get(i);
            redis.del(key);
        }
    }
}