From fa102ee0a3071837a7beb19a7ca6028075937d73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=93=81?= Date: Fri, 11 Mar 2016 11:49:34 +0800 Subject: [PATCH] changed DruidDataSource discardConnectiion filling logic --- .../java/com/alibaba/druid/pool/DruidAbstractDataSource.java | 4 ++++ src/main/java/com/alibaba/druid/pool/DruidDataSource.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java index a4a5f74a91..6a56cb01d9 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java @@ -931,6 +931,10 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements if (inited && value > this.maxActive) { throw new IllegalArgumentException("minIdle greater than maxActive, " + maxActive + " < " + this.minIdle); } + + if (minIdle < 0) { + throw new IllegalArgumentException("minIdle must > 0"); + } this.minIdle = value; } diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 9e2abf3bfc..2820c557ae 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -1059,7 +1059,7 @@ public class DruidDataSource extends DruidAbstractDataSource activeCount--; discardCount++; - if (activeCount <= 0) { + if (activeCount <= minIdle) { emptySignal(); } } finally {