From bf039604e2afb09b766c05e175bbada002a1d585 Mon Sep 17 00:00:00 2001 From: Yako Date: Tue, 30 Jun 2015 11:32:31 +0800 Subject: [PATCH] bug fixed for CreateConnectionTask --- .../java/com/alibaba/druid/pool/DruidDataSource.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 147d7e560b..46712ac51b 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -1722,7 +1722,9 @@ public class DruidDataSource extends DruidAbstractDataSource } catch (SQLException ex) { lock.lock(); try { - createTaskCount--; + if (createScheduler != null) { + createTaskCount--; + } } finally { lock.unlock(); } @@ -1767,6 +1769,13 @@ public class DruidDataSource extends DruidAbstractDataSource try { lock.lockInterruptibly(); } catch (InterruptedException e2) { + LOG.error("interrupt: ", e2); + lock.lock(); + try { + createTaskCount--; + } finally { + lock.unlock(); + } break; } @@ -1806,6 +1815,7 @@ public class DruidDataSource extends DruidAbstractDataSource return; } + this.errorCount = 0; // reset errorCount createScheduler.schedule(this, timeBetweenConnectErrorMillis, TimeUnit.MILLISECONDS); return; }