From f88c70d38ce1c9c0d04460d0c225373c84dc2eca Mon Sep 17 00:00:00 2001 From: dengming <dengming@ctfo.com> Date: 星期四, 10 三月 2022 17:27:07 +0800 Subject: [PATCH] 删除重复字段,channelId字段查询了两次 --- src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java | 22 +++++++++++++++++++--- 1 files changed, 19 insertions(+), 3 deletions(-) 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 eae4547..4ebaf0b 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java @@ -4,6 +4,7 @@ import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch; import com.genersoft.iot.vmp.gb28181.event.EventPublisher; import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; +import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import org.springframework.beans.factory.annotation.Autowired; @@ -29,15 +30,24 @@ @Autowired private EventPublisher publisher; + @Autowired + private ISIPCommanderForPlatform sipCommanderForPlatform; + + @Override public void run(String... args) throws Exception { // 璁剧疆鎵�鏈夊钩鍙扮绾� storager.outlineForAllParentPlatform(); + // 娓呯悊鎵�鏈夊钩鍙版敞鍐岀紦瀛� + redisCatchStorage.cleanPlatformRegisterInfos(); + + // 鍋滄鎵�鏈夋帹娴� +// zlmrtpServerFactory.closeAllSendRtpStream(); + List<ParentPlatform> parentPlatforms = storager.queryEnableParentPlatformList(true); for (ParentPlatform parentPlatform : parentPlatforms) { - redisCatchStorage.updatePlatformRegister(parentPlatform); redisCatchStorage.updatePlatformKeepalive(parentPlatform); @@ -45,11 +55,17 @@ ParentPlatformCatch parentPlatformCatch = new ParentPlatformCatch(); parentPlatformCatch.setParentPlatform(parentPlatform); - parentPlatformCatch.setId(parentPlatform.getDeviceGBId()); + parentPlatformCatch.setId(parentPlatform.getServerGBId()); redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch); + // 鍙栨秷璁㈤槄 + sipCommanderForPlatform.unregister(parentPlatform, null, (eventResult)->{ + ParentPlatform platform = storager.queryParentPlatByServerGBId(parentPlatform.getServerGBId()); + sipCommanderForPlatform.register(platform, null, null); + }); + // 鍙戦�佸钩鍙版湭娉ㄥ唽娑堟伅 - publisher.platformNotRegisterEventPublish(parentPlatform.getDeviceGBId()); + publisher.platformNotRegisterEventPublish(parentPlatform.getServerGBId()); } } } -- Gitblit v1.8.0