Skip to content

Commit c15201c

Browse files
committed
Use a CopyOnWriteList to avoid concurrent modification problems
Request: MO Change-Id: I5224f7c69d0c7a62973f1599651c8f5075a66e42
1 parent 4a8ce16 commit c15201c

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

jersey/src/main/java/io/bdeploy/jersey/activity/JerseyBroadcastingActivityReporter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.util.Set;
99
import java.util.TreeMap;
1010
import java.util.TreeSet;
11+
import java.util.concurrent.CopyOnWriteArrayList;
1112
import java.util.concurrent.ScheduledExecutorService;
1213
import java.util.concurrent.TimeUnit;
1314
import java.util.function.LongSupplier;
@@ -45,7 +46,7 @@ public class JerseyBroadcastingActivityReporter implements ActivityReporter {
4546
* It seems that HK2 has a bug where it changes the registration for a singleton service in a locator if the service is
4647
* registered as singleton in ANOTHER locator...
4748
*/
48-
private static final List<JerseyRemoteActivity> globalActivities = new ArrayList<>();
49+
private static final List<JerseyRemoteActivity> globalActivities = new CopyOnWriteArrayList<>();
4950
private static final ThreadLocal<JerseyRemoteActivity> currentActivity = new ThreadLocal<>();
5051
private static final Set<List<String>> activeScopes = new TreeSet<>(JerseyBroadcastingActivityReporter::compareScopes);
5152

0 commit comments

Comments
 (0)