From cd260f2613d17b3076203421d0751dbeca049d1c Mon Sep 17 00:00:00 2001 From: "shaojin.wensj" Date: Sun, 28 Jun 2015 17:49:44 +0800 Subject: [PATCH] improved for create scheduler --- .../alibaba/druid/pool/DruidAbstractDataSource.java | 2 +- .../java/com/alibaba/druid/pool/DruidDataSource.java | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java index e9a225b596..343ad74163 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java @@ -240,7 +240,7 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements protected DruidDataSourceStatLogger statLogger = new DruidDataSourceStatLoggerImpl(); private boolean asyncCloseConnectionEnable = false; - protected int maxCreateTaskCount = 2; + protected int maxCreateTaskCount = 3; protected ScheduledExecutorService destroyScheduler; protected ScheduledExecutorService createScheduler; diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 147d7e560b..b5267bdf31 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -1762,14 +1762,13 @@ public class DruidDataSource extends DruidAbstractDataSource @Override public void run() { + runInternal(); + } + + private void runInternal() { for (;;) { // addLast - try { - lock.lockInterruptibly(); - } catch (InterruptedException e2) { - break; - } - + lock.lock(); try { // 必须存在线程等待,才创建连接 if (poolingCount >= notEmptyWaitThreadCount) {