diff --git a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java index dd7c7a0c..35862078 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java @@ -33,6 +33,9 @@ public class SipPlatformRunner implements CommandLineRunner { // 设置所有平台离线 storager.outlineForAllParentPlatform(); + // 清理所有平台注册缓存 + redisCatchStorage.cleanPlatformRegisterInfos(); + List parentPlatforms = storager.queryEnableParentPlatformList(true); for (ParentPlatform parentPlatform : parentPlatforms) { 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 c9f5fff8..2866611f 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java @@ -81,6 +81,8 @@ public interface IRedisCatchStorage { void delPlatformRegisterInfo(String callId); + void cleanPlatformRegisterInfos(); + void updateSendRTPSever(SendRtpItem sendRtpItem); /** 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 c5e31d62..98710833 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 @@ -13,6 +13,7 @@ import org.springframework.stereotype.Component; import java.util.*; +@SuppressWarnings("rawtypes") @Component public class RedisCatchStorageImpl implements IRedisCatchStorage { @@ -212,6 +213,14 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage { redis.del(VideoManagerConstants.PLATFORM_REGISTER_INFO_PREFIX + callId); } + @Override + public void cleanPlatformRegisterInfos() { + List regInfos = redis.scan(VideoManagerConstants.PLATFORM_REGISTER_INFO_PREFIX + "*"); + for (Object key : regInfos) { + redis.del(key.toString()); + } + } + @Override public void updateSendRTPSever(SendRtpItem sendRtpItem) { String key = VideoManagerConstants.PLATFORM_SEND_RTP_INFO_PREFIX + sendRtpItem.getPlatformId() + "_" + sendRtpItem.getChannelId();