Update MySQL driver class name
+ implement fallback to the legacy driver
This commit is contained in:
@@ -101,6 +101,12 @@ public class MySQL extends AbstractSqlDataSource {
|
||||
this.username = settings.getProperty(DatabaseSettings.MYSQL_USERNAME);
|
||||
this.password = settings.getProperty(DatabaseSettings.MYSQL_PASSWORD);
|
||||
this.className = settings.getProperty(DatabaseSettings.MYSQL_DRIVER_CLASS_NAME);
|
||||
try {
|
||||
Class.forName(this.className);
|
||||
} catch (ClassNotFoundException e) {
|
||||
logger.info("Driver class '" + this.className + "' not found! Falling back to legacy MySQL driver (com.mysql.jdbc.Driver)");
|
||||
this.className = "com.mysql.jdbc.Driver";
|
||||
}
|
||||
this.database = settings.getProperty(DatabaseSettings.MYSQL_DATABASE);
|
||||
this.tableName = settings.getProperty(DatabaseSettings.MYSQL_TABLE);
|
||||
this.columnOthers = settings.getProperty(HooksSettings.MYSQL_OTHER_USERNAME_COLS);
|
||||
@@ -122,7 +128,7 @@ public class MySQL extends AbstractSqlDataSource {
|
||||
|
||||
// Pool Settings
|
||||
ds.setMaximumPoolSize(poolSize);
|
||||
ds.setMaxLifetime(maxLifetime * 1000);
|
||||
ds.setMaxLifetime(maxLifetime * 1000L);
|
||||
|
||||
// Database URL
|
||||
ds.setJdbcUrl("jdbc:mysql://" + this.host + ":" + this.port + "/" + this.database);
|
||||
|
||||
@@ -60,10 +60,15 @@ public class SettingsMigrationService extends PlainMigrationService {
|
||||
@SuppressWarnings("checkstyle:BooleanExpressionComplexity")
|
||||
protected boolean performMigrations(PropertyReader reader, ConfigurationData configurationData) {
|
||||
boolean changes = false;
|
||||
|
||||
if ("[a-zA-Z0-9_?]*".equals(reader.getString(ALLOWED_NICKNAME_CHARACTERS.getPath()))) {
|
||||
configurationData.setValue(ALLOWED_NICKNAME_CHARACTERS, "[a-zA-Z0-9_]*");
|
||||
changes = true;
|
||||
}
|
||||
if ("com.mysql.jdbc.Driver".equals(reader.getString(DatabaseSettings.MYSQL_DRIVER_CLASS_NAME.getPath()))) {
|
||||
configurationData.setValue(DatabaseSettings.MYSQL_DRIVER_CLASS_NAME, "com.mysql.cj.jdbc.Driver");
|
||||
changes = true;
|
||||
}
|
||||
|
||||
setOldOtherAccountsCommandFieldsIfSet(reader);
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ public final class DatabaseSettings implements SettingsHolder {
|
||||
|
||||
@Comment("Driver Name of the MySQL database")
|
||||
public static final Property<String> MYSQL_DRIVER_CLASS_NAME =
|
||||
newProperty("DataSource.mySQLDriverClassName", "com.mysql.jdbc.Driver");
|
||||
newProperty("DataSource.mySQLDriverClassName", "com.mysql.cj.jdbc.Driver");
|
||||
|
||||
@Comment("Database Name, use with converters or as SQLITE database name")
|
||||
public static final Property<String> MYSQL_DATABASE =
|
||||
|
||||
Reference in New Issue
Block a user