From 22efd0f56c20e1aedb18fa7b9bcdc48007fcc954 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期一, 20 十二月 2021 09:51:51 +0800 Subject: [PATCH] 添加心跳到期时验证zlm是否真的离线。 --- src/main/java/com/genersoft/iot/vmp/gb28181/event/offline/KeepaliveTimeoutListenerForPlatform.java | 36 ++++++++++++++++++++++-------------- 1 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/offline/KeepaliveTimeoutListenerForPlatform.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/offline/KeepaliveTimeoutListenerForPlatform.java index 3b2ceaa..4d2b8ce 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/offline/KeepaliveTimeoutListenerForPlatform.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/offline/KeepaliveTimeoutListenerForPlatform.java @@ -1,5 +1,8 @@ package com.genersoft.iot.vmp.gb28181.event.offline; +import com.genersoft.iot.vmp.conf.UserSetup; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.connection.Message; import org.springframework.data.redis.listener.KeyExpirationEventMessageListener; @@ -10,48 +13,53 @@ import com.genersoft.iot.vmp.gb28181.event.EventPublisher; /** - * @Description:璁惧蹇冭烦瓒呮椂鐩戝惉,鍊熷姪redis杩囨湡鐗规�э紝杩涜鐩戝惉锛岀洃鍚埌璇存槑璁惧蹇冭烦瓒呮椂锛屽彂閫佺绾夸簨浠� + * @description:璁惧蹇冭烦瓒呮椂鐩戝惉,鍊熷姪redis杩囨湡鐗规�э紝杩涜鐩戝惉锛岀洃鍚埌璇存槑璁惧蹇冭烦瓒呮椂锛屽彂閫佺绾夸簨浠� * @author: swwheihei * @date: 2020骞�5鏈�6鏃� 涓婂崍11:35:46 */ @Component public class KeepaliveTimeoutListenerForPlatform extends KeyExpirationEventMessageListener { + private Logger logger = LoggerFactory.getLogger(KeepaliveTimeoutListenerForPlatform.class); + @Autowired private EventPublisher publisher; + @Autowired + private UserSetup userSetup; + public KeepaliveTimeoutListenerForPlatform(RedisMessageListenerContainer listenerContainer) { super(listenerContainer); + // 閰嶇疆springboot榛樿Config涓虹┖锛屽嵆涓嶈搴旂敤鍘讳慨鏀箁edis鐨勯粯璁ら厤缃紝鍥犱负Redis鏈嶅姟鍑轰簬瀹夊叏浼氱鐢–ONFIG鍛戒护缁欒繙绋嬬敤鎴蜂娇鐢� + setKeyspaceNotificationsConfigParameter(""); } /** * 鐩戝惉澶辨晥鐨刱ey * @param message - * @param bytes + * @param pattern */ @Override public void onMessage(Message message, byte[] pattern) { // 鑾峰彇澶辨晥鐨刱ey String expiredKey = message.toString(); - System.out.println(expiredKey); - if(!expiredKey.startsWith(VideoManagerConstants.PLATFORM_PREFIX)){ - System.out.println("鏀跺埌redis杩囨湡鐩戝惉锛屼絾寮�澶翠笉鏄�"+VideoManagerConstants.PLATFORM_PREFIX+"锛屽拷鐣�"); - return; - } + logger.debug(expiredKey); // 骞冲彴蹇冭烦鍒版湡,闇�瑕侀噸鍙�, 鍒ゆ柇鏄惁宸茬粡澶氭鏈敹鍒板績璺冲洖澶�, 澶氭鏈敹鍒�,鍒欓噸鏂板彂璧锋敞鍐�, 娉ㄥ唽灏濊瘯澶氭鏈緱鍒板洖澶�,鍒欒涓哄钩鍙扮绾� - if (expiredKey.startsWith(VideoManagerConstants.PLATFORM_KEEPLIVEKEY_PREFIX)) { - String platformGBId = expiredKey.substring(VideoManagerConstants.PLATFORM_KEEPLIVEKEY_PREFIX.length(),expiredKey.length()); + String PLATFORM_KEEPLIVEKEY_PREFIX = VideoManagerConstants.PLATFORM_KEEPALIVE_PREFIX + userSetup.getServerId() + "_"; + String PLATFORM_REGISTER_PREFIX = VideoManagerConstants.PLATFORM_REGISTER_PREFIX + userSetup.getServerId() + "_"; + String KEEPLIVEKEY_PREFIX = VideoManagerConstants.KEEPLIVEKEY_PREFIX + userSetup.getServerId() + "_"; + if (expiredKey.startsWith(PLATFORM_KEEPLIVEKEY_PREFIX)) { + String platformGBId = expiredKey.substring(PLATFORM_KEEPLIVEKEY_PREFIX.length(),expiredKey.length()); publisher.platformKeepaliveExpireEventPublish(platformGBId); - }else if (expiredKey.startsWith(VideoManagerConstants.PLATFORM_REGISTER_PREFIX)) { - System.out.println("11111111111111"); - String platformGBId = expiredKey.substring(VideoManagerConstants.PLATFORM_REGISTER_PREFIX.length(),expiredKey.length()); + }else if (expiredKey.startsWith(PLATFORM_REGISTER_PREFIX)) { + String platformGBId = expiredKey.substring(PLATFORM_REGISTER_PREFIX.length(),expiredKey.length()); publisher.platformNotRegisterEventPublish(platformGBId); }else{ - String deviceId = expiredKey.substring(VideoManagerConstants.KEEPLIVEKEY_PREFIX.length(),expiredKey.length()); - publisher.outlineEventPublish(deviceId, VideoManagerConstants.EVENT_OUTLINE_TIMEOUT); + String deviceId = expiredKey.substring(KEEPLIVEKEY_PREFIX.length(),expiredKey.length()); + publisher.outlineEventPublish(deviceId, KEEPLIVEKEY_PREFIX); } } -- Gitblit v1.8.0