From 2314d18658abdef0af624f740bcba8593fd504c7 Mon Sep 17 00:00:00 2001 From: ckcclc Date: Thu, 10 May 2018 17:36:49 +0800 Subject: [PATCH] Change data structure for core.push.BroadcastPushTask from HashSet to google.ConcurrentHashSet to avoid java.util.ConcurrentModificationException --- .../src/main/java/com/mpush/core/push/BroadcastPushTask.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mpush-core/src/main/java/com/mpush/core/push/BroadcastPushTask.java b/mpush-core/src/main/java/com/mpush/core/push/BroadcastPushTask.java index 3d38a5b5..39e80cee 100644 --- a/mpush-core/src/main/java/com/mpush/core/push/BroadcastPushTask.java +++ b/mpush-core/src/main/java/com/mpush/core/push/BroadcastPushTask.java @@ -19,6 +19,7 @@ package com.mpush.core.push; +import com.google.common.collect.Sets; import com.mpush.api.message.Message; import com.mpush.api.common.Condition; import com.mpush.api.connection.Connection; @@ -51,7 +52,7 @@ public final class BroadcastPushTask implements PushTask { private final TimeLine timeLine = new TimeLine(); - private final Set successUserIds = new HashSet<>(1024); + private final Set successUserIds = Sets.newConcurrentHashSet(); private final FlowControl flowControl;