refactor loadClass

This commit is contained in:
wenshao
2012-07-19 10:59:54 +08:00
parent 3ee01ce1a2
commit 92b106565b
8 changed files with 37 additions and 256 deletions
@@ -56,6 +56,8 @@ import com.alibaba.druid.proxy.jdbc.DataSourceProxy;
import com.alibaba.druid.proxy.jdbc.TransactionInfo;
import com.alibaba.druid.stat.JdbcDataSourceStat;
import com.alibaba.druid.stat.JdbcStatManager;
import com.alibaba.druid.support.logging.Log;
import com.alibaba.druid.support.logging.LogFactory;
import com.alibaba.druid.util.ConcurrentIdentityHashMap;
import com.alibaba.druid.util.DruidLoaderUtils;
import com.alibaba.druid.util.Histogram;
@@ -67,6 +69,7 @@ import com.alibaba.druid.util.JdbcUtils;
* @author ljw<ljw2083@alibaba-inc.com>
*/
public abstract class DruidAbstractDataSource extends WrapperAdapter implements DruidAbstractDataSourceMBean, DataSource, DataSourceProxy, Serializable {
private final static Log LOG = LogFactory.getLog(DruidAbstractDataSource.class);
private static final long serialVersionUID = 1L;
@@ -486,9 +489,10 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
ValidConnectionChecker validConnectionChecker = null;
if (clazz != null) {
validConnectionChecker = (ValidConnectionChecker) clazz.newInstance();
this.validConnectionChecker = validConnectionChecker;
} else {
LOG.error("load validConnectionCheckerClass error : " + validConnectionCheckerClass);
}
this.validConnectionChecker = validConnectionChecker;
}
public String getDbType() {
@@ -713,6 +717,7 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
if (clazz != null) {
this.passwordCallback = (PasswordCallback) clazz.newInstance();
} else {
LOG.error("load passwordCallback error : " + passwordCallbackClassName);
this.passwordCallback = null;
}
}
@@ -1012,7 +1017,11 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
}
Class<?> clazz = DruidLoaderUtils.loadClass(exceptionSorter);
this.exceptionSorter = (ExceptionSorter) clazz.newInstance();
if (clazz == null) {
LOG.error("load exceptionSorter error : " + exceptionSorter);
} else {
this.exceptionSorter = (ExceptionSorter) clazz.newInstance();
}
}
@Override