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 6d8f45d9..5eab234b 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 class VideoManagerConstants { 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 fbe07c7f..62eecc67 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 class SipDeviceRunner implements CommandLineRunner { 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 be9fdffb..649fb71a 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 @@ public interface IRedisCatchStorage { * @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 1c6409f8..21204157 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 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage { } } } + + @Override + public void outlineForAll() { + List 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); + } + } }