diff --git a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java index f0e95986f0..fb4153cd44 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java @@ -993,6 +993,14 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements public ExceptionSorter getExceptionSorter() { return exceptionSorter; } + + public String getExceptionSorterClassName() { + if (exceptionSorter == null) { + return null; + } + + return exceptionSorter.getClass().getName(); + } public void setExceptionSorter(ExceptionSorter exceptionSoter) { this.exceptionSorter = exceptionSoter; diff --git a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSourceMBean.java b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSourceMBean.java index 2b1dd1c31e..7bddfbf3ed 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSourceMBean.java +++ b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSourceMBean.java @@ -154,4 +154,6 @@ public interface DruidAbstractDataSourceMBean { int getDriverMajorVersion(); int getDriverMinorVersion(); + + String getExceptionSorterClassName(); } diff --git a/src/main/java/com/alibaba/druid/support/http/StatViewServlet.java b/src/main/java/com/alibaba/druid/support/http/StatViewServlet.java index 7ec576ec40..1f51009408 100644 --- a/src/main/java/com/alibaba/druid/support/http/StatViewServlet.java +++ b/src/main/java/com/alibaba/druid/support/http/StatViewServlet.java @@ -385,9 +385,18 @@ public class StatViewServlet extends HttpServlet { dataMap.put("InitialSize", dataSource.getInitialSize()); dataMap.put("MinIdle", dataSource.getMinIdle()); dataMap.put("MaxActive", dataSource.getMaxActive()); + + dataMap.put("QueryTimeout", dataSource.getQueryTimeout()); + dataMap.put("ValidConnectionCheckerClassName", dataSource.getValidConnectionCheckerClassName()); + dataMap.put("ExceptionSorterClassName", dataSource.getExceptionSorterClassName()); dataMap.put("TestOnBorrow", dataSource.isTestOnBorrow()); + dataMap.put("TestOnReturn", dataSource.isTestOnReturn()); dataMap.put("TestWhileIdle", dataSource.isTestWhileIdle()); + + dataMap.put("DefaultAutoCommit", dataSource.isDefaultAutoCommit()); + dataMap.put("DefaultReadOnly", dataSource.isDefaultAutoCommit()); + dataMap.put("DefaultTransactionIsolation", dataSource.getDefaultTransactionIsolation()); dataMap.put("LogicConnectCount", dataSource.getConnectCount()); dataMap.put("LogicCloseCount", dataSource.getCloseCount()); @@ -404,7 +413,8 @@ public class StatViewServlet extends HttpServlet { dataMap.put("StartTransactionCount", dataSource.getStartTransactionCount()); dataMap.put("TransactionHistogram", dataSource.getTransactionHistogramValues()); - dataMap.put("ConnectionHoldTimeHistogram", dataSource.getDataSourceStat().getConnectionHoldHistogram().toArray()); + dataMap.put("ConnectionHoldTimeHistogram", + dataSource.getDataSourceStat().getConnectionHoldHistogram().toArray()); dataMap.put("RemoveAbandoned", dataSource.isRemoveAbandoned()); return dataMap; diff --git a/src/main/resources/support/http/resources/js/datasource.js b/src/main/resources/support/http/resources/js/datasource.js index 6b936ca11f..ac5b987be3 100644 --- a/src/main/resources/support/http/resources/js/datasource.js +++ b/src/main/resources/support/http/resources/js/datasource.js @@ -15,10 +15,15 @@ function fillDataSourceInfo(datasource) { changeInnerHtml("DS-Info-TestOnBorrow" + datasource.Identity, datasource.TestOnBorrow); changeInnerHtml("DS-Info-TestWhileIdle" + datasource.Identity, datasource.TestWhileIdle); + changeInnerHtml("DS-Info-TestOnReturn" + datasource.Identity, datasource.TestOnReturn); changeInnerHtml("DS-Info-InitialSize" + datasource.Identity, datasource.InitialSize); changeInnerHtml("DS-Info-MinIdle" + datasource.Identity, datasource.MinIdle); changeInnerHtml("DS-Info-MaxActive" + datasource.Identity, datasource.MaxActive); + + changeInnerHtml("DS-Info-QueryTimeout" + datasource.Identity, datasource.QueryTimeout); + changeInnerHtml("DS-Info-ValidConnectionCheckerClassName" + datasource.Identity, datasource.ValidConnectionCheckerClassName); + changeInnerHtml("DS-Info-ExceptionSorterClassName" + datasource.Identity, datasource.ExceptionSorterClassName); changeInnerHtml("DS-Info-NotEmptyWaitCount" + datasource.Identity, datasource.NotEmptyWaitCount); changeInnerHtml("DS-Info-NotEmptyWaitMillis" + datasource.Identity, datasource.NotEmptyWaitMillis); @@ -69,11 +74,16 @@ function generateDataSourceDiv(datasource) { listHtml += '