From f70294948528f2066e29afba0a84d8c13bc90819 Mon Sep 17 00:00:00 2001 From: Niklas Seyfarth Date: Tue, 7 May 2019 14:50:57 +0200 Subject: [PATCH] Fix onDisable methods. --- .../bukkit/OnlineTimeBukkitPlugin.java | 19 +++++++++++++++++-- .../bungee/OnlineTimeBungeePlugin.java | 5 ++--- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/java/mr/minecraft15/onlinetime/bukkit/OnlineTimeBukkitPlugin.java b/src/main/java/mr/minecraft15/onlinetime/bukkit/OnlineTimeBukkitPlugin.java index ba64891..5660358 100644 --- a/src/main/java/mr/minecraft15/onlinetime/bukkit/OnlineTimeBukkitPlugin.java +++ b/src/main/java/mr/minecraft15/onlinetime/bukkit/OnlineTimeBukkitPlugin.java @@ -62,7 +62,7 @@ public class OnlineTimeBukkitPlugin extends JavaPlugin implements PluginProxy { private AccumulatingOnlineTimeStorage onlineTimeStorage; private PlayerNameStorage playerNameStorage; - BukkitTask flushCacheTask; + private BukkitTask flushCacheTask; @Override public void onEnable() { @@ -249,7 +249,22 @@ private void flushOnlineTimeCache() { @Override public void onDisable() { - + if (onlineTimeStorage != null) { + try { + flushCacheTask.cancel(); + flushOnlineTimeCache(); + onlineTimeStorage.close(); + } catch (StorageException ex) { + getLogger().log(Level.SEVERE, "error while closing online time storage", ex); + } + } + if (playerNameStorage != null) { + try { + playerNameStorage.close(); + } catch (StorageException ex) { + getLogger().log(Level.SEVERE, "error while closing player name storage", ex); + } + } } @Override diff --git a/src/main/java/mr/minecraft15/onlinetime/bungee/OnlineTimeBungeePlugin.java b/src/main/java/mr/minecraft15/onlinetime/bungee/OnlineTimeBungeePlugin.java index f779b9f..17bfb43 100644 --- a/src/main/java/mr/minecraft15/onlinetime/bungee/OnlineTimeBungeePlugin.java +++ b/src/main/java/mr/minecraft15/onlinetime/bungee/OnlineTimeBungeePlugin.java @@ -44,7 +44,6 @@ import java.util.*; import java.util.concurrent.TimeUnit; import java.util.logging.Level; -import java.util.regex.Matcher; import java.util.stream.Collectors; public class OnlineTimeBungeePlugin extends Plugin implements PluginProxy { @@ -93,10 +92,10 @@ public void onEnable() { public void onDisable() { getProxy().getPluginManager().unregisterCommands(this); getProxy().getPluginManager().unregisterListeners(this); - flushCacheTask.cancel(); - flushOnlineTimeCache(); if (onlineTimeStorage != null) { try { + flushCacheTask.cancel(); + flushOnlineTimeCache(); onlineTimeStorage.close(); } catch (StorageException ex) { getLogger().log(Level.SEVERE, "error while closing online time storage", ex);