diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 5f3610a6e3..2b03570a1a 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -531,6 +531,10 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat for (;;) { while (activeCount >= maxActive) { + if (estimate <= 0) { + return null; + } + try { estimate = notMaxActive.awaitNanos(estimate); // signal by recycle } catch (InterruptedException ie) {