support monitor

This commit is contained in:
wenshao
2013-08-15 00:43:32 +08:00
parent bf60f9a234
commit f8b1914c4a
15 changed files with 111 additions and 11 deletions
@@ -82,12 +82,13 @@ import com.alibaba.druid.stat.JdbcSqlStat;
import com.alibaba.druid.stat.JdbcSqlStatValue;
import com.alibaba.druid.support.logging.Log;
import com.alibaba.druid.support.logging.LogFactory;
import com.alibaba.druid.util.Utils;
import com.alibaba.druid.util.JMXUtils;
import com.alibaba.druid.util.JdbcConstants;
import com.alibaba.druid.util.JdbcUtils;
import com.alibaba.druid.util.StringUtils;
import com.alibaba.druid.util.Utils;
import com.alibaba.druid.wall.WallFilter;
import com.alibaba.druid.wall.WallProviderStatValue;
;
/**
@@ -923,7 +924,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
if (timeBetweenEvictionRunsMillis <= 0) {
timeBetweenEvictionRunsMillis = DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS;
}
if (idleMillis >= timeBetweenEvictionRunsMillis) {
boolean validate = testConnectionInternal(poolalbeConnection.getConnection());
if (!validate) {
@@ -2338,10 +2339,20 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
}
public Map<String, Object> getWallStatMap() {
WallProviderStatValue wallStatValue = getWallStatValue(false);
if (wallStatValue != null) {
return wallStatValue.toMap();
}
return null;
}
public WallProviderStatValue getWallStatValue(boolean reset) {
for (Filter filter : this.filters) {
if (filter instanceof WallFilter) {
WallFilter wallFilter = (WallFilter) filter;
return wallFilter.getProvider().getStatsMap();
return wallFilter.getProvider().getStatValue(reset);
}
}