improve filter's config

This commit is contained in:
wenshao
2013-06-15 00:55:36 +08:00
parent d27e97f126
commit b1ea268f43
6 changed files with 96 additions and 7 deletions
@@ -135,6 +135,7 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
System.out);
protected List<Filter> filters = new CopyOnWriteArrayList<Filter>();
private boolean clearFiltersEnable = true;
protected volatile ExceptionSorter exceptionSorter = null;
protected Driver driver;
@@ -254,7 +255,7 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
public DruidDataSourceStatLogger getStatLogger() {
return statLogger;
}
public void setStatLoggerClassName(String className) {
Class<?> clazz;
try {
@@ -1164,7 +1165,7 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
}
this.addFilters(filters);
}
public void addFilters(String filters) throws SQLException {
if (filters == null || filters.length() == 0) {
return;
@@ -1174,10 +1175,13 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
for (String item : filterArray) {
FilterManager.loadFilter(this.filters, item);
}
}
}
public void clearFilters() {
if (!isClearFiltersEnable()) {
return;
}
this.filters.clear();
}
@@ -1295,6 +1299,14 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
return driver;
}
public boolean isClearFiltersEnable() {
return clearFiltersEnable;
}
public void setClearFiltersEnable(boolean clearFiltersEnable) {
this.clearFiltersEnable = clearFiltersEnable;
}
private final AtomicLong connectionIdSeed = new AtomicLong(10000);
private final AtomicLong statementIdSeed = new AtomicLong(20000);
private final AtomicLong resultSetIdSeed = new AtomicLong(50000);