From 6b8ecd1f9d2abe1e6ac0af858487755a58a2643a Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 17 十一月 2022 18:09:28 +0800
Subject: [PATCH] 优化级联注册稳定性

---
 src/main/java/com/genersoft/iot/vmp/gb28181/event/record/RecordEndEventListener.java |   10 +++-------
 1 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/record/RecordEndEventListener.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/record/RecordEndEventListener.java
index aeca07a..5c2abb2 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/record/RecordEndEventListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/record/RecordEndEventListener.java
@@ -5,11 +5,9 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.context.ApplicationListener;
 import org.springframework.stereotype.Component;
-import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
 
-import java.util.HashMap;
-import java.util.Hashtable;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * @description: 褰曞儚鏌ヨ缁撴潫浜嬩欢
@@ -22,13 +20,12 @@
 
     private final static Logger logger = LoggerFactory.getLogger(RecordEndEventListener.class);
 
-    private static Map<String, SseEmitter> sseEmitters = new Hashtable<>();
-
     public interface RecordEndEventHandler{
         void  handler(RecordInfo recordInfo);
     }
 
-    private Map<String, RecordEndEventHandler> handlerMap = new HashMap<>();
+    private Map<String, RecordEndEventHandler> handlerMap = new ConcurrentHashMap<>();
+
     @Override
     public void onApplicationEvent(RecordEndEvent event) {
         logger.info("褰曞儚鏌ヨ瀹屾垚浜嬩欢瑙﹀彂锛宒eviceId锛歿}, channelId: {}, 褰曞儚鏁伴噺{}鏉�", event.getRecordInfo().getDeviceId(),
@@ -38,7 +35,6 @@
                 recordEndEventHandler.handler(event.getRecordInfo());
             }
         }
-
     }
 
     public void addEndEventHandler(String device, String channelId, RecordEndEventHandler recordEndEventHandler) {

--
Gitblit v1.8.0