Browse Source

Merge pull request #6582 in CORE/base-third from release/11.0 to final/11.0

* commit '0bcd956ee2be9e3a070376f2d6fc0510980cf0e9':
  REPORT-76958 Druid获取连接的重试次数配置有bug
  REPORT-77015 Druid连接失败时抛出的报错不方便直接查看原因,10.0是可以的
final/11.0
superman 2 years ago
parent
commit
1eb51c843f
  1. 10
      fine-druid/src/main/java/com/fr/third/alibaba/druid/pool/DruidDataSource.java

10
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)) { || realDriverClassName.equals(JdbcConstants.POLARDB_DRIVER)) {
this.validConnectionChecker = new PGValidConnectionChecker(); this.validConnectionChecker = new PGValidConnectionChecker();
} else if (realDriverClassName.equals(JdbcConstants.OCEANBASE_DRIVER) } else if (realDriverClassName.equals(JdbcConstants.OCEANBASE_DRIVER)
|| (realDriverClassName.equals(JdbcConstants.OCEANBASE_DRIVER2))) { || (realDriverClassName.equals(JdbcConstants.OCEANBASE_DRIVER2))) {
DbType dbType = DbType.of(this.dbTypeName); DbType dbType = DbType.of(this.dbTypeName);
this.validConnectionChecker = new OceanBaseValidConnectionChecker(dbType); this.validConnectionChecker = new OceanBaseValidConnectionChecker(dbType);
} }
@ -1482,7 +1482,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
try { try {
poolableConnection = getConnectionInternal(maxWaitMillis); poolableConnection = getConnectionInternal(maxWaitMillis);
} catch (GetConnectionTimeoutException ex) { } catch (GetConnectionTimeoutException ex) {
if (notFullTimeoutRetryCnt <= this.notFullTimeoutRetryCount && !isFull()) { if (notFullTimeoutRetryCnt < this.notFullTimeoutRetryCount && !isFull()) {
notFullTimeoutRetryCnt++; notFullTimeoutRetryCnt++;
if (LOG.isWarnEnabled()) { if (LOG.isWarnEnabled()) {
LOG.warn("get connection timeout retry : " + notFullTimeoutRetryCnt); LOG.warn("get connection timeout retry : " + notFullTimeoutRetryCnt);
@ -1830,7 +1830,11 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
String errorMessage = buf.toString(); String errorMessage = buf.toString();
if (createError != null) { if (createError != null) {
throw new GetConnectionTimeoutException(errorMessage, createError); if (createError instanceof SQLException) {
throw (SQLException)createError;
} else {
throw new GetConnectionTimeoutException(errorMessage, createError);
}
} else { } else {
throw new GetConnectionTimeoutException(errorMessage); throw new GetConnectionTimeoutException(errorMessage);
} }

Loading…
Cancel
Save