From b680bc099a148f85182605f9a8eef93f0a50a989 Mon Sep 17 00:00:00 2001 From: Henri S Date: Sun, 7 Nov 2021 08:52:25 +0200 Subject: [PATCH] Fix GH-2147 by adding an extra check to make sure we don't remove the wrong driver from the DriverManager (#2148) Fixes #2147 --- .../java/com/djrapitops/plan/storage/database/MySQLDB.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/MySQLDB.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/MySQLDB.java index 96e48aa471..936da1bad7 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/MySQLDB.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/MySQLDB.java @@ -153,7 +153,9 @@ private void unloadMySQLDriver() { Enumeration drivers = DriverManager.getDrivers(); while (drivers.hasMoreElements()) { Driver driver = drivers.nextElement(); - if ("com.mysql.cj.jdbc.Driver".equals(driver.getClass().getName())) { + Class driverClass = driver.getClass(); + // Checks that it's from our class loader to avoid unloading another plugin's/the server's driver + if ("com.mysql.cj.jdbc.Driver".equals(driverClass.getName()) && driverClass.getClassLoader() == driverClassLoader) { try { DriverManager.deregisterDriver(driver); } catch (SQLException e) {