diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index f5927ede27..058d4f13e2 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -675,7 +675,12 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat @Override public int getPoolingCount() { - return poolingCount; + lock.lock(); + try { + return poolingCount; + } finally { + lock.unlock(); + } } public long getRecycleCount() { @@ -683,7 +688,12 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat } public int getActiveCount() { - return activeCount; + lock.lock(); + try { + return activeCount; + } finally { + lock.unlock(); + } } public long getRemoveAbandonedCount() {