diff --git a/pom.xml b/pom.xml index e4b71292ff..8065fb534b 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.alibaba druid - 1.1.20_preview_08 + 1.1.20_preview_09 jar druid diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 2d030cb856..0452d80672 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -1762,13 +1762,11 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat lock.unlock(); } - if(holder != null && holder.getDataSource() != null) { + if(onFatalError && holder != null && holder.getDataSource() != null) { ReentrantLock dataSourceLock = holder.getDataSource().lock; dataSourceLock.lock(); try { - if (poolingCount < minIdle) { - emptySignal(); - } + emptySignal(); } finally { dataSourceLock.unlock(); @@ -3001,12 +2999,8 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat DruidConnectionHolder connection = connections[i]; if (onFatalError || fatalErrorIncrement > 0) { - if (lastFatalErrorTimeMillis > connection.lastActiveTimeMillis) { - keepAliveConnections[keepAliveCount++] = connection; - continue; - } else { - break; - } + keepAliveConnections[keepAliveCount++] = connection; + continue; } if (checkTime) {