From 0b7c1bfe4ffc981ca5892f2e5fbaa76d45058b72 Mon Sep 17 00:00:00 2001 From: anthorob Date: Sun, 9 Mar 2025 15:32:26 -0400 Subject: [PATCH] handle events in a separate thread --- .../java/me/bobert/netneutrality/hooks/EventsHandler.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/me/bobert/netneutrality/hooks/EventsHandler.java b/src/main/java/me/bobert/netneutrality/hooks/EventsHandler.java index 127533d..3f5b930 100644 --- a/src/main/java/me/bobert/netneutrality/hooks/EventsHandler.java +++ b/src/main/java/me/bobert/netneutrality/hooks/EventsHandler.java @@ -20,6 +20,7 @@ import me.bobert.netneutrality.core.context.CommandContext; import me.bobert.netneutrality.core.context.Context; import me.bobert.netneutrality.core.context.TaskContext; import me.bobert.netneutrality.core.tasks.TaskManager; +import me.bobert.netneutrality.core.thread.ThreadManager; import me.bobert.netneutrality.db.service.GuildService; import me.bobert.netneutrality.utils.Settings; import net.dv8tion.jda.api.entities.Message; @@ -41,12 +42,14 @@ import org.slf4j.LoggerFactory; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ExecutorService; import java.util.function.Consumer; import java.util.function.Function; public class EventsHandler implements EventListener { private static final Map, Function> listeners = new ConcurrentHashMap<>(); private static final Logger logger = LoggerFactory.getLogger(EventsHandler.class); + private final ExecutorService executorService = ThreadManager.getExecutor("events-handler"); static { addListener(MessageReceivedEvent.class, event -> { @@ -109,7 +112,7 @@ public class EventsHandler implements EventListener { @Override public void onEvent(@NotNull GenericEvent event) { - handleEvent((Event) event); + executorService.submit(() -> handleEvent((Event) event)); } @SuppressWarnings("unchecked")