From d09ee0c2ff93c799b0c19481f0890a5be5a2db03 Mon Sep 17 00:00:00 2001 From: 64850858 <648540858@qq.com> Date: 星期五, 18 六月 2021 19:44:55 +0800 Subject: [PATCH] 解决启动设置所有设备离线未删除redis记录 --- src/main/java/com/genersoft/iot/vmp/conf/SipDeviceRunner.java | 2 ++ src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java | 9 +++++++++ src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java | 5 +++++ src/main/java/com/genersoft/iot/vmp/common/VideoManagerConstants.java | 2 +- 4 files changed, 17 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/common/VideoManagerConstants.java b/src/main/java/com/genersoft/iot/vmp/common/VideoManagerConstants.java index 6d8f45d..5eab234 100644 --- a/src/main/java/com/genersoft/iot/vmp/common/VideoManagerConstants.java +++ b/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_"; diff --git a/src/main/java/com/genersoft/iot/vmp/conf/SipDeviceRunner.java b/src/main/java/com/genersoft/iot/vmp/conf/SipDeviceRunner.java index fbe07c7..62eecc6 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/SipDeviceRunner.java +++ b/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(); } } diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java b/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java index be9fdff..649fb71 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java @@ -112,4 +112,9 @@ * @param deviceId 璁惧ID */ void clearCatchByDeviceId(String deviceId); + + /** + * 璁剧疆鎵�鏈夎澶囩绾� + */ + void outlineForAll(); } diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java index 1c6409f..2120415 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java +++ b/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); + } + } } -- Gitblit v1.8.0