diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index b4c7e3468b..304f19f842 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -855,6 +855,14 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat destroyCount++; } } + + public int getWaitThreadCount() { + return lock.getWaitQueueLength(notEmpty); + } + + public int getLockQueueLength() { + return lock.getQueueLength(); + } public String toString() { StringBuilder buf = new StringBuilder(); diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSourceMBean.java b/src/main/java/com/alibaba/druid/pool/DruidDataSourceMBean.java index b623e17207..38f34e29e6 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSourceMBean.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSourceMBean.java @@ -25,4 +25,8 @@ public interface DruidDataSourceMBean extends DruidAbstractDataSourceMBean { void shrink(); String toString(); + + int getWaitThreadCount(); + + int getLockQueueLength(); }