From 13c2e2eb41e46f68ec4892a8a385a9788aae3fb6 Mon Sep 17 00:00:00 2001 From: Henry Zhang Date: Thu, 7 Feb 2019 23:27:24 -0800 Subject: [PATCH] Make sure WorldHopperPlugin's executor is active on startup We can't submit tasks to shutdown Executors. These need to be recreated on startup --- .../client/plugins/worldhopper/WorldHopperPlugin.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java index 07f4d727a5..b545939202 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java @@ -131,7 +131,7 @@ public class WorldHopperPlugin extends Plugin @Inject private WorldHopperConfig config; - private final ScheduledExecutorService hopperExecutorService = new ExecutorServiceExceptionLogger(Executors.newSingleThreadScheduledExecutor()); + private ScheduledExecutorService hopperExecutorService; private NavigationButton navButton; private WorldSwitcherPanel panel; @@ -201,6 +201,8 @@ public class WorldHopperPlugin extends Plugin } worldResultFuture = executorService.scheduleAtFixedRate(this::tick, 0, WORLD_FETCH_TIMER, TimeUnit.MINUTES); + + hopperExecutorService = new ExecutorServiceExceptionLogger(Executors.newSingleThreadScheduledExecutor()); pingFuture = hopperExecutorService.scheduleAtFixedRate(this::pingWorlds, WORLD_PING_TIMER, WORLD_PING_TIMER, TimeUnit.MINUTES); } @@ -221,6 +223,7 @@ public class WorldHopperPlugin extends Plugin clientToolbar.removeNavigation(navButton); hopperExecutorService.shutdown(); + hopperExecutorService = null; } @Subscribe