From 48ccd6d0999d3a60e262cc16065362f518439a22 Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Sun, 4 Nov 2018 19:42:58 +0200 Subject: [PATCH] [#772] Fix ShutdownHook registration This solves session saving on server shutdown, as previous solution has proven to work just fine. --- .../com/djrapitops/plan/system/tasks/BukkitTaskSystem.java | 5 +++++ .../com/djrapitops/plan/system/tasks/SpongeTaskSystem.java | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/BukkitTaskSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/BukkitTaskSystem.java index afbb1c27e..42b546903 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/BukkitTaskSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/BukkitTaskSystem.java @@ -17,6 +17,7 @@ package com.djrapitops.plan.system.tasks; import com.djrapitops.plan.Plan; +import com.djrapitops.plan.ShutdownHook; import com.djrapitops.plan.system.settings.Settings; import com.djrapitops.plan.system.settings.config.PlanConfig; import com.djrapitops.plan.system.tasks.server.BootAnalysisTask; @@ -40,12 +41,14 @@ import java.util.concurrent.TimeUnit; public class BukkitTaskSystem extends ServerTaskSystem { private final Plan plugin; + private final ShutdownHook shutdownHook; private final PingCountTimerBukkit pingCountTimer; @Inject public BukkitTaskSystem( Plan plugin, PlanConfig config, + ShutdownHook shutdownHook, RunnableFactory runnableFactory, PaperTPSCountTimer paperTPSCountTimer, BukkitTPSCountTimer bukkitTPSCountTimer, @@ -64,6 +67,7 @@ public class BukkitTaskSystem extends ServerTaskSystem { logsFolderCleanTask, playersPageRefreshTask); this.plugin = plugin; + this.shutdownHook = shutdownHook; this.pingCountTimer = pingCountTimer; } @@ -78,6 +82,7 @@ public class BukkitTaskSystem extends ServerTaskSystem { } catch (ExceptionInInitializerError | NoClassDefFoundError ignore) { // Running CraftBukkit } + shutdownHook.register(); } @Override diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/SpongeTaskSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/SpongeTaskSystem.java index 7ce4c7130..4d4e00279 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/SpongeTaskSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/SpongeTaskSystem.java @@ -17,6 +17,7 @@ package com.djrapitops.plan.system.tasks; import com.djrapitops.plan.PlanSponge; +import com.djrapitops.plan.ShutdownHook; import com.djrapitops.plan.system.settings.Settings; import com.djrapitops.plan.system.settings.config.PlanConfig; import com.djrapitops.plan.system.tasks.server.BootAnalysisTask; @@ -34,12 +35,14 @@ import java.util.concurrent.TimeUnit; public class SpongeTaskSystem extends ServerTaskSystem { private final PlanSponge plugin; + private final ShutdownHook shutdownHook; private final PingCountTimerSponge pingCountTimer; @Inject public SpongeTaskSystem( PlanSponge plugin, PlanConfig config, + ShutdownHook shutdownHook, RunnableFactory runnableFactory, SpongeTPSCountTimer spongeTPSCountTimer, BootAnalysisTask bootAnalysisTask, @@ -57,6 +60,7 @@ public class SpongeTaskSystem extends ServerTaskSystem { logsFolderCleanTask, playersPageRefreshTask); this.plugin = plugin; + this.shutdownHook = shutdownHook; this.pingCountTimer = pingCountTimer; } @@ -68,6 +72,8 @@ public class SpongeTaskSystem extends ServerTaskSystem { long startDelay = TimeAmount.toTicks(config.getNumber(Settings.PING_SERVER_ENABLE_DELAY), TimeUnit.SECONDS); runnableFactory.create("PingCountTimer", pingCountTimer) .runTaskTimer(startDelay, PingCountTimerSponge.PING_INTERVAL); + + shutdownHook.register(); } @Override