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