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