Set up leakDetection & Pool name incrementation for MySQL

This commit is contained in:
Rsl1122 2018-08-06 09:42:14 +03:00
parent 00bd119481
commit 1f624078d9

View File

@ -4,6 +4,7 @@ import com.djrapitops.plan.api.exceptions.database.DBInitException;
import com.djrapitops.plan.system.locale.Locale; import com.djrapitops.plan.system.locale.Locale;
import com.djrapitops.plan.system.locale.lang.PluginLang; import com.djrapitops.plan.system.locale.lang.PluginLang;
import com.djrapitops.plan.system.settings.Settings; import com.djrapitops.plan.system.settings.Settings;
import com.djrapitops.plugin.api.TimeAmount;
import com.djrapitops.plugin.api.utility.log.Log; import com.djrapitops.plugin.api.utility.log.Log;
import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariDataSource;
@ -19,7 +20,9 @@ import java.util.function.Supplier;
*/ */
public class MySQLDB extends SQLDB { public class MySQLDB extends SQLDB {
protected DataSource dataSource; private static int increment = 1;
protected volatile DataSource dataSource;
public MySQLDB(Supplier<Locale> locale) { public MySQLDB(Supplier<Locale> locale) {
super(locale); super(locale);
@ -48,12 +51,14 @@ public class MySQLDB extends SQLDB {
config.setUsername(username); config.setUsername(username);
config.setPassword(password); config.setPassword(password);
config.setPoolName("Plan Connection Pool"); config.setPoolName("Plan Connection Pool-" + increment);
config.setDriverClassName("com.mysql.jdbc.Driver"); config.setDriverClassName("com.mysql.jdbc.Driver");
increment++;
config.setAutoCommit(true); config.setAutoCommit(true);
config.setReadOnly(false); config.setReadOnly(false);
config.setMaximumPoolSize(8); config.setMaximumPoolSize(8);
config.setLeakDetectionThreshold(TimeAmount.MINUTE.ms() * 10L);
this.dataSource = new HikariDataSource(config); this.dataSource = new HikariDataSource(config);
} }