From 3962352ec32137e9561c2ba16e192f1f7fdebade Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 15 十二月 2021 11:07:59 +0800
Subject: [PATCH] 优化zlm状态变化事件代码

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMStatusEventListener.java |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMOnlineEventListener.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMStatusEventListener.java
similarity index 66%
rename from src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMOnlineEventListener.java
rename to src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMStatusEventListener.java
index 952a673..5b0741b 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMOnlineEventListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMStatusEventListener.java
@@ -1,16 +1,14 @@
 package com.genersoft.iot.vmp.media.zlm.event;
 
-import com.genersoft.iot.vmp.conf.SipConfig;
-import com.genersoft.iot.vmp.conf.UserSetup;
 import com.genersoft.iot.vmp.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.IStreamProxyService;
 import com.genersoft.iot.vmp.service.IStreamPushService;
-import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
-import com.genersoft.iot.vmp.utils.redis.RedisUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationListener;
+import org.springframework.context.event.EventListener;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
 
 import java.text.SimpleDateFormat;
@@ -23,9 +21,9 @@
  * @date: 2020骞�5鏈�6鏃� 涓嬪崍1:51:23
  */
 @Component
-public class ZLMOnlineEventListener implements ApplicationListener<ZLMOnlineEvent> {
+public class ZLMStatusEventListener {
 	
-	private final static Logger logger = LoggerFactory.getLogger(ZLMOnlineEventListener.class);
+	private final static Logger logger = LoggerFactory.getLogger(ZLMStatusEventListener.class);
 
 	@Autowired
 	private IStreamPushService streamPushService;
@@ -33,9 +31,13 @@
 	@Autowired
 	private IStreamProxyService streamProxyService;
 
+	@Autowired
+	private IMediaServerService mediaServerService;
+
 	private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
-	@Override
+	@Async
+	@EventListener
 	public void onApplicationEvent(ZLMOnlineEvent event) {
 
 		logger.info("ZLM涓婄嚎浜嬩欢瑙﹀彂锛孖D锛�" + event.getMediaServerId());
@@ -43,4 +45,16 @@
 		streamProxyService.zlmServerOnline(event.getMediaServerId());
 
 	}
+
+	@Async
+	@EventListener
+	public void onApplicationEvent(ZLMOfflineEvent event) {
+
+		logger.info("ZLM绂荤嚎浜嬩欢瑙﹀彂锛孖D锛�" + event.getMediaServerId());
+		// 澶勭悊ZLM绂荤嚎
+		mediaServerService.zlmServerOffline(event.getMediaServerId());
+		streamProxyService.zlmServerOffline(event.getMediaServerId());
+		streamPushService.zlmServerOffline(event.getMediaServerId());
+		// TODO 澶勭悊瀵瑰浗鏍囩殑褰卞搷
+	}
 }

--
Gitblit v1.8.0