From 7c849abf29dd848ee04c61f0074ae1d84705a9cf Mon Sep 17 00:00:00 2001
From: Awen <39176130+yu1183688986@users.noreply.github.com>
Date: 星期五, 30 四月 2021 10:42:59 +0800
Subject: [PATCH] 修复集合遍历删除元素的java.util.ConcurrentModificationException 异常问题

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookSubscribe.java |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookSubscribe.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookSubscribe.java
index bf54f50..a69cec8 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookSubscribe.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookSubscribe.java
@@ -63,7 +63,7 @@
                 }
 
             }
-            if (result) {
+            if (null != result && result) {
                 event = eventMap.get(key);
             }
         }
@@ -75,7 +75,10 @@
         if (eventMap == null) {
             return;
         }
-        for (JSONObject key : eventMap.keySet()) {
+        Iterator<Map.Entry<JSONObject, Event>> iterator = eventMap.entrySet().iterator();
+        while (iterator.hasNext()){
+            Map.Entry<JSONObject, Event> next = iterator.next();
+            JSONObject key = next.getKey();
             Boolean result = null;
             for (String s : key.keySet()) {
                 if (result == null) {
@@ -85,8 +88,8 @@
                 }
 
             }
-            if (result) {
-                eventMap.remove(key);
+            if (null != result && result){
+                iterator.remove();
             }
         }
     }

--
Gitblit v1.8.0