improve dynamic config support for DruidDataSourceStatLogger

This commit is contained in:
wenshao
2013-05-27 08:45:12 +08:00
parent 98d67b6d64
commit cc0fdd7ffe
4 changed files with 37 additions and 1 deletions
@@ -429,6 +429,10 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
if (exceptionSorter != null) {
exceptionSorter.configFromProperties(properties);
}
if (statLogger != null) {
statLogger.configFromProperties(properties);
}
}
this.connectProperties = properties;
@@ -15,7 +15,11 @@
*/
package com.alibaba.druid.pool;
import java.util.Properties;
public interface DruidDataSourceStatLogger {
void log(DruidDataSourceStatValue statValue);
void configFromProperties(Properties properties);
}
@@ -0,0 +1,18 @@
package com.alibaba.druid.pool;
import java.util.Properties;
public abstract class DruidDataSourceStatLoggerAdapter implements DruidDataSourceStatLogger {
@Override
public void log(DruidDataSourceStatValue statValue) {
}
@Override
public void configFromProperties(Properties properties) {
}
}
@@ -20,15 +20,25 @@ import static com.alibaba.druid.util.JdbcSqlStatUtils.rtrim;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;
import com.alibaba.druid.stat.JdbcSqlStatValue;
import com.alibaba.druid.support.json.JSONUtils;
import com.alibaba.druid.support.logging.Log;
import com.alibaba.druid.support.logging.LogFactory;
public class DruidDataSourceStatLoggerImpl implements DruidDataSourceStatLogger {
public class DruidDataSourceStatLoggerImpl extends DruidDataSourceStatLoggerAdapter {
private static Log LOG = LogFactory.getLog(DruidDataSourceStatLoggerImpl.class);
public DruidDataSourceStatLoggerImpl() {
this.configFromProperties(System.getProperties());
}
@Override
public void configFromProperties(Properties properties) {
}
@Override
public void log(DruidDataSourceStatValue statValue) {