diff --git a/profiles/killbill/src/main/java/org/killbill/billing/server/listeners/CleanupListener.java b/profiles/killbill/src/main/java/org/killbill/billing/server/listeners/CleanupListener.java
index c0079d4..902ba81 100644
--- a/profiles/killbill/src/main/java/org/killbill/billing/server/listeners/CleanupListener.java
+++ b/profiles/killbill/src/main/java/org/killbill/billing/server/listeners/CleanupListener.java
@@ -28,8 +28,6 @@ import javax.servlet.ServletContextListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.mysql.jdbc.AbandonedConnectionCleanupThread;
-
public class CleanupListener implements ServletContextListener {
private static final Logger logger = LoggerFactory.getLogger(CleanupListener.class);
@@ -52,9 +50,20 @@ public class CleanupListener implements ServletContextListener {
// See http://docs.oracle.com/cd/E17952_01/connector-j-relnotes-en/news-5-1-23.html
try {
- AbandonedConnectionCleanupThread.shutdown();
+ Class.forName("com.mysql.jdbc.AbandonedConnectionCleanupThread");
+ com.mysql.jdbc.AbandonedConnectionCleanupThread.shutdown();
} catch (final InterruptedException e) {
logger.warn("Unable to shutdown MySQL threads", e);
+ } catch (final ClassNotFoundException ignored) {
+ // MySQL driver not used
+ }
+
+ // See https://mariadb.atlassian.net/browse/CONJ-61
+ try {
+ Class.forName("org.mariadb.jdbc.Driver");
+ org.mariadb.jdbc.Driver.unloadDriver();
+ } catch (final ClassNotFoundException ignored) {
+ // MariaDB driver not used
}
}
}