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 ++++++++++++++++++++++++++
src/main/java/com/genersoft/iot/vmp/media/zlm/event/HookZlmServerStartEvent.java | 24 ++++++++++++++++++++++++
2 files changed, 50 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(){
}
+
}
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/event/HookZlmServerStartEvent.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/event/HookZlmServerStartEvent.java
new file mode 100644
index 0000000..cbc5b74
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/event/HookZlmServerStartEvent.java
@@ -0,0 +1,24 @@
+package com.genersoft.iot.vmp.media.zlm.event;
+
+import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
+import org.springframework.context.ApplicationEvent;
+
+/**
+ * zlm server_start浜嬩欢
+ */
+public class HookZlmServerStartEvent extends ApplicationEvent {
+
+ public HookZlmServerStartEvent(Object source) {
+ super(source);
+ }
+
+ private MediaServerItem mediaServerItem;
+
+ public MediaServerItem getMediaServerItem() {
+ return mediaServerItem;
+ }
+
+ public void setMediaServerItem(MediaServerItem mediaServerItem) {
+ this.mediaServerItem = mediaServerItem;
+ }
+}
--
Gitblit v1.8.0