diff --git a/fine-druid/src/main/java/com/fr/third/alibaba/druid/pool/DruidDataSource.java b/fine-druid/src/main/java/com/fr/third/alibaba/druid/pool/DruidDataSource.java index b27276b28..e2c9028f1 100644 --- a/fine-druid/src/main/java/com/fr/third/alibaba/druid/pool/DruidDataSource.java +++ b/fine-druid/src/main/java/com/fr/third/alibaba/druid/pool/DruidDataSource.java @@ -1387,7 +1387,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat || realDriverClassName.equals(JdbcConstants.POLARDB_DRIVER)) { this.validConnectionChecker = new PGValidConnectionChecker(); } else if (realDriverClassName.equals(JdbcConstants.OCEANBASE_DRIVER) - || (realDriverClassName.equals(JdbcConstants.OCEANBASE_DRIVER2))) { + || (realDriverClassName.equals(JdbcConstants.OCEANBASE_DRIVER2))) { DbType dbType = DbType.of(this.dbTypeName); this.validConnectionChecker = new OceanBaseValidConnectionChecker(dbType); } @@ -1830,7 +1830,11 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat String errorMessage = buf.toString(); if (createError != null) { - throw new GetConnectionTimeoutException(errorMessage, createError); + if (createError instanceof SQLException) { + throw (SQLException)createError; + } else { + throw new GetConnectionTimeoutException(errorMessage, createError); + } } else { throw new GetConnectionTimeoutException(errorMessage); }