diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 46f9d48379..cb0401ce69 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -520,11 +520,15 @@ public class DruidDataSource extends DruidDataAbstractSource implements DruidDat highWater.await(); continue; } + + if (count <= 0) { + continue; + } first = connections[0]; long millis = System.currentTimeMillis() - first.getTimeMillis(); - if (millis > 0) { + if (millis < minEvictableIdleTimeMillis) { idleTimeout.await(millis, TimeUnit.MILLISECONDS); continue; }