handle events in a separate thread
This commit is contained in:
1 parent
3466fb536d
commit
0b7c1bfe4f
1 file changed
+4
-1
@@ -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<Class<? extends Event>, Function<? extends Event, Context>> 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")
|
||||
|
||||
Reference in new issue
Block a user