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