diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSourceFactory.java b/src/main/java/com/alibaba/druid/pool/DruidDataSourceFactory.java index ced815a842..3e1274adbf 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSourceFactory.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSourceFactory.java @@ -95,9 +95,12 @@ public class DruidDataSourceFactory implements ObjectFactory { return null; } Reference ref = (Reference) obj; - //if (!"javax.sql.DataSource".equals(ref.getClassName())) { - // return null; - //} + + if ((!"javax.sql.DataSource".equals(ref.getClassName())) // + && (!"com.alibaba.druid.pool.DruidDataSource".equals(ref.getClassName())) // + ) { + return null; + } Properties properties = new Properties(); for (int i = 0; i < ALL_PROPERTIES.length; i++) { @@ -111,7 +114,7 @@ public class DruidDataSourceFactory implements ObjectFactory { return createDataSourceInternal(properties); } - + protected DataSource createDataSourceInternal(Properties properties) throws Exception { DruidDataSource dataSource = new DruidDataSource(); config(dataSource, properties);