diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 2b03570a1a..447d2f4646 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -546,6 +546,10 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat if (poolingCount == 0) { lowWater.signal(); // send signal to CreateThread create connection + if (estimate <= 0) { + return null; + } + try { estimate = notEmpty.awaitNanos(estimate); // signal by recycle or creator } catch (InterruptedException ie) {