diff --git a/bus/src/main/java/de/srsoftware/umbrella/messagebus/MessageBus.java b/bus/src/main/java/de/srsoftware/umbrella/messagebus/MessageBus.java index 75aca937..f5919e88 100644 --- a/bus/src/main/java/de/srsoftware/umbrella/messagebus/MessageBus.java +++ b/bus/src/main/java/de/srsoftware/umbrella/messagebus/MessageBus.java @@ -3,6 +3,8 @@ package de.srsoftware.umbrella.messagebus; import de.srsoftware.umbrella.messagebus.events.Event; import java.util.HashSet; +import java.util.List; +import java.util.Map; import java.util.Set; public class MessageBus { @@ -15,7 +17,7 @@ public class MessageBus { new Thread(() -> { // TODO: use thread pool try { Thread.sleep(100); - listeners.parallelStream().forEach(l -> l.onEvent(event)); + List.copyOf(listeners).parallelStream().forEach(l -> l.onEvent(event)); } catch (InterruptedException ignored) { } }).start();