From 02c86fc3f2ac5cf81c0e9d049e1e41c90c9a4ecc Mon Sep 17 00:00:00 2001 From: wenshao Date: Fri, 2 Sep 2011 18:16:00 +0000 Subject: [PATCH] git-svn-id: http://code.alibabatech.com/svn/druid/trunk@598 b9813039-fb51-4c41-a8b9-e21c2acb5095 --- src/main/java/com/alibaba/druid/pool/DruidDataSource.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index b7a599fb2d..8fd4c4a6bb 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -629,12 +629,13 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat lock.lock(); try { // 必须存在线程等待,才创建连接 - if (lock.getWaitQueueLength(notEmpty) == 0) { + int waitThreadCount = lock.getWaitQueueLength(notEmpty); + if (waitThreadCount == 0) { lowWater.await(); continue; } - if (minIdle > 0 && poolingCount >= minIdle) { + if (minIdle > 0 && (poolingCount - waitThreadCount) >= minIdle) { lowWater.await(); continue; }