forked from LogBlock/LogBlock
Do not spam exceptions when the database connection pool is closed
When some database access is still running asynchronously, it will create an SQLException when the pool is closed (on shutdown). Just silently ignore them in this case.
This commit is contained in:
@@ -426,7 +426,9 @@ public class CommandsHandler implements CommandExecutor {
|
||||
rs.close();
|
||||
}
|
||||
} catch (final SQLException ex) {
|
||||
logblock.getLogger().log(Level.SEVERE, "[CommandsHandler] SQL exception on close", ex);
|
||||
if (logblock.isCompletelyEnabled()) {
|
||||
logblock.getLogger().log(Level.SEVERE, "[CommandsHandler] SQL exception on close", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -490,8 +492,10 @@ public class CommandsHandler implements CommandExecutor {
|
||||
getSession(sender).lookupCache = null;
|
||||
}
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + "Exception, check error log");
|
||||
logblock.getLogger().log(Level.SEVERE, "[Lookup] " + params.getQuery() + ": ", ex);
|
||||
if (logblock.isCompletelyEnabled() || !(ex instanceof SQLException)) {
|
||||
sender.sendMessage(ChatColor.RED + "Exception, check error log");
|
||||
logblock.getLogger().log(Level.SEVERE, "[Lookup] " + params.getQuery() + ": ", ex);
|
||||
}
|
||||
} finally {
|
||||
close();
|
||||
}
|
||||
@@ -546,8 +550,10 @@ public class CommandsHandler implements CommandExecutor {
|
||||
writer.close();
|
||||
sender.sendMessage(ChatColor.GREEN + "Wrote " + counter + " lines.");
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + "Exception, check error log");
|
||||
logblock.getLogger().log(Level.SEVERE, "[WriteLogFile] " + params.getQuery() + " (file was " + file.getAbsolutePath() + "): ", ex);
|
||||
if (logblock.isCompletelyEnabled() || !(ex instanceof SQLException)) {
|
||||
sender.sendMessage(ChatColor.RED + "Exception, check error log");
|
||||
logblock.getLogger().log(Level.SEVERE, "[WriteLogFile] " + params.getQuery() + " (file was " + file.getAbsolutePath() + "): ", ex);
|
||||
}
|
||||
} finally {
|
||||
close();
|
||||
}
|
||||
@@ -606,8 +612,10 @@ public class CommandsHandler implements CommandExecutor {
|
||||
sender.sendMessage(ChatColor.RED + "No block change found to teleport to");
|
||||
}
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + "Exception, check error log");
|
||||
logblock.getLogger().log(Level.SEVERE, "[Teleport] " + params.getQuery() + ": ", ex);
|
||||
if (logblock.isCompletelyEnabled() || !(ex instanceof SQLException)) {
|
||||
sender.sendMessage(ChatColor.RED + "Exception, check error log");
|
||||
logblock.getLogger().log(Level.SEVERE, "[Teleport] " + params.getQuery() + ": ", ex);
|
||||
}
|
||||
} finally {
|
||||
close();
|
||||
}
|
||||
@@ -693,8 +701,10 @@ public class CommandsHandler implements CommandExecutor {
|
||||
}
|
||||
}
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + "Exception, check error log");
|
||||
logblock.getLogger().log(Level.SEVERE, "[Rollback] " + params.getQuery() + ": ", ex);
|
||||
if (logblock.isCompletelyEnabled() || !(ex instanceof SQLException)) {
|
||||
sender.sendMessage(ChatColor.RED + "Exception, check error log");
|
||||
logblock.getLogger().log(Level.SEVERE, "[Rollback] " + params.getQuery() + ": ", ex);
|
||||
}
|
||||
} finally {
|
||||
close();
|
||||
}
|
||||
@@ -766,8 +776,10 @@ public class CommandsHandler implements CommandExecutor {
|
||||
editor.start();
|
||||
sender.sendMessage(ChatColor.GREEN + "Redo finished successfully (" + editor.getElapsedTime() + " ms, " + editor.getSuccesses() + "/" + changes + " blocks" + (editor.getErrors() > 0 ? ", " + ChatColor.RED + editor.getErrors() + " errors" + ChatColor.GREEN : "") + (editor.getBlacklistCollisions() > 0 ? ", " + editor.getBlacklistCollisions() + " blacklist collisions" : "") + ")");
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + "Exception, check error log");
|
||||
logblock.getLogger().log(Level.SEVERE, "[Redo] " + params.getQuery() + ": ", ex);
|
||||
if (logblock.isCompletelyEnabled() || !(ex instanceof SQLException)) {
|
||||
sender.sendMessage(ChatColor.RED + "Exception, check error log");
|
||||
logblock.getLogger().log(Level.SEVERE, "[Redo] " + params.getQuery() + ": ", ex);
|
||||
}
|
||||
} finally {
|
||||
close();
|
||||
}
|
||||
@@ -841,8 +853,10 @@ public class CommandsHandler implements CommandExecutor {
|
||||
sender.sendMessage(ChatColor.GREEN + "Cleared out table " + table + "-chestdata. Deleted " + deleted + " entries.");
|
||||
}
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + "Exception, check error log");
|
||||
logblock.getLogger().log(Level.SEVERE, "[ClearLog] Exception: ", ex);
|
||||
if (logblock.isCompletelyEnabled() || !(ex instanceof SQLException)) {
|
||||
sender.sendMessage(ChatColor.RED + "Exception, check error log");
|
||||
logblock.getLogger().log(Level.SEVERE, "[ClearLog] Exception: ", ex);
|
||||
}
|
||||
} finally {
|
||||
close();
|
||||
}
|
||||
|
@@ -40,11 +40,16 @@ public class LogBlock extends JavaPlugin {
|
||||
private boolean errorAtLoading = false, noDb = false, connected = true;
|
||||
private PlayerInfoLogging playerInfoLogging;
|
||||
private Questioner questioner;
|
||||
private volatile boolean isCompletelyEnabled;
|
||||
|
||||
public static LogBlock getInstance() {
|
||||
return logblock;
|
||||
}
|
||||
|
||||
public boolean isCompletelyEnabled() {
|
||||
return isCompletelyEnabled;
|
||||
}
|
||||
|
||||
public Consumer getConsumer() {
|
||||
return consumer;
|
||||
}
|
||||
@@ -120,7 +125,6 @@ public class LogBlock extends JavaPlugin {
|
||||
new DumpedLogImporter(this).run();
|
||||
registerEvents();
|
||||
consumer.start();
|
||||
getServer().getScheduler().runTaskAsynchronously(this, new Updater.PlayerCountChecker(this));
|
||||
for (final Tool tool : toolsByType.values()) {
|
||||
if (pm.getPermission("logblock.tools." + tool.name) == null) {
|
||||
final Permission perm = new Permission("logblock.tools." + tool.name, tool.permissionDefault);
|
||||
@@ -128,6 +132,8 @@ public class LogBlock extends JavaPlugin {
|
||||
}
|
||||
}
|
||||
questioner = new Questioner(this);
|
||||
isCompletelyEnabled = true;
|
||||
getServer().getScheduler().runTaskAsynchronously(this, new Updater.PlayerCountChecker(this));
|
||||
try {
|
||||
Metrics metrics = new Metrics(this);
|
||||
metrics.start();
|
||||
@@ -204,6 +210,7 @@ public class LogBlock extends JavaPlugin {
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
isCompletelyEnabled = false;
|
||||
if (timer != null) {
|
||||
timer.cancel();
|
||||
}
|
||||
|
@@ -825,7 +825,9 @@ class Updater {
|
||||
st.close();
|
||||
conn.close();
|
||||
} catch (final SQLException ex) {
|
||||
logblock.getLogger().log(Level.SEVERE, "[Updater] Error: ", ex);
|
||||
if (logblock.isCompletelyEnabled()) {
|
||||
logblock.getLogger().log(Level.SEVERE, "[Updater] Error: ", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user