|
|
@ -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); |
|
|
|
} |
|
|
|
} |
|
|
|