mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
bug fixed validationQuery on ReplicationDriver. issue #1922
This commit is contained in:
@@ -1079,16 +1079,18 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
|
||||
private void initValidConnectionChecker() {
|
||||
String realDriverClassName = driver.getClass().getName();
|
||||
if (realDriverClassName.equals(JdbcConstants.MYSQL_DRIVER) //
|
||||
|| realDriverClassName.equals(JdbcConstants.MYSQL_DRIVER_6)) {
|
||||
if (JdbcUtils.isMySqlDriver(realDriverClassName)) {
|
||||
this.validConnectionChecker = new MySqlValidConnectionChecker();
|
||||
|
||||
} else if (realDriverClassName.equals(JdbcConstants.ORACLE_DRIVER)
|
||||
|| realDriverClassName.equals(JdbcConstants.ORACLE_DRIVER2)) {
|
||||
this.validConnectionChecker = new OracleValidConnectionChecker();
|
||||
|
||||
} else if (realDriverClassName.equals(JdbcConstants.SQL_SERVER_DRIVER)
|
||||
|| realDriverClassName.equals(JdbcConstants.SQL_SERVER_DRIVER_SQLJDBC4)
|
||||
|| realDriverClassName.equals(JdbcConstants.SQL_SERVER_DRIVER_JTDS)) {
|
||||
this.validConnectionChecker = new MSSQLValidConnectionChecker();
|
||||
|
||||
} else if (realDriverClassName.equals(JdbcConstants.POSTGRESQL_DRIVER)) {
|
||||
this.validConnectionChecker = new PGValidConnectionChecker();
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ public interface JdbcConstants {
|
||||
public static final String MYSQL = "mysql";
|
||||
public static final String MYSQL_DRIVER = "com.mysql.jdbc.Driver";
|
||||
public static final String MYSQL_DRIVER_6 = "com.mysql.cj.jdbc.Driver";
|
||||
public static final String MYSQL_DRIVER_REPLICATE = "com.mysql.jdbc.ReplicationDriver";
|
||||
|
||||
public static final String MARIADB = "mariadb";
|
||||
public static final String MARIADB_DRIVER = "org.mariadb.jdbc.Driver";
|
||||
|
||||
@@ -814,4 +814,10 @@ public final class JdbcUtils implements JdbcConstants {
|
||||
|
||||
throw new SQLException("getCreateTableScript dbType not support for " + dbType);
|
||||
}
|
||||
|
||||
public static boolean isMySqlDriver(String driverClassName) {
|
||||
return driverClassName.equals(JdbcConstants.MYSQL_DRIVER) //
|
||||
|| driverClassName.equals(JdbcConstants.MYSQL_DRIVER_6)
|
||||
|| driverClassName.equals(JdbcConstants.MYSQL_DRIVER_REPLICATE);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user