From 4a0e9945b40e237aabd1cc41d180ca35355439ac Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 19 三月 2024 18:47:55 +0800 Subject: [PATCH] 调整节点管理代码结构 --- src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManger.java | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManger.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManger.java index 6799cb7..bf39690 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManger.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManger.java @@ -1,10 +1,16 @@ package com.genersoft.iot.vmp.media.zlm; import com.genersoft.iot.vmp.media.event.MediaServerChangeEvent; +import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; +import com.genersoft.iot.vmp.media.zlm.event.HookZlmServerStartEvent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.event.EventListener; import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.Scheduled; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; /** * 绠$悊zlm娴佸獟浣撹妭鐐圭殑鐘舵�� @@ -12,6 +18,8 @@ public class ZLMMediaServerStatusManger { private final static Logger logger = LoggerFactory.getLogger(ZLMMediaServerStatusManger.class); + + private Map<Object, MediaServerItem> offlineZlmMap = new ConcurrentHashMap<>(); private final String type = "zlm"; @@ -24,6 +32,24 @@ return; } logger.info("[ZLM 寰呬笂绾胯妭鐐瑰彉鍖朷 ID锛�" + event.getMediaServerItem().getId()); + offlineZlmMap.put(event.getMediaServerItem().getId(), event.getMediaServerItem()); + } + + @Async("taskExecutor") + @EventListener + public void onApplicationEvent(HookZlmServerStartEvent event) { + if (event.getMediaServerItem() == null + || !type.equals(event.getMediaServerItem().getType()) + || event.getMediaServerItem().isStatus()) { + return; + } + logger.info("[ZLM-HOOK浜嬩欢-鏈嶅姟鍚姩] ID锛�" + event.getMediaServerItem().getId()); + offlineZlmMap.remove(event.getMediaServerItem().getId()); + } + + @Scheduled(fixedDelay = ) //姣忓ぉ鐨�0鐐规墽琛� + public void execute(){ } + } -- Gitblit v1.8.0