diff --git a/infra/data-source-pool/core/pom.xml b/infra/data-source-pool/core/pom.xml
index 3becbf881ee417..b44d8895ea400f 100644
--- a/infra/data-source-pool/core/pom.xml
+++ b/infra/data-source-pool/core/pom.xml
@@ -54,5 +54,16 @@
${project.version}
test
+
+ com.h2database
+ h2
+ test
+
+
+ com.alibaba
+ druid
+ ${druid.version}
+ test
+
diff --git a/infra/data-source-pool/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreatorTest.java b/infra/data-source-pool/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreatorTest.java
index 5c3ea17f30f243..56c58e14b8b595 100644
--- a/infra/data-source-pool/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreatorTest.java
+++ b/infra/data-source-pool/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreatorTest.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.infra.datasource.pool.creator;
+import com.alibaba.druid.pool.DruidDataSource;
import org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.junit.jupiter.api.Test;
@@ -27,8 +28,8 @@
import java.util.Map;
import static org.hamcrest.CoreMatchers.is;
-import static org.junit.jupiter.api.Assertions.assertNull;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertNull;
class DataSourcePoolCreatorTest {
@@ -59,4 +60,16 @@ private void assertDataSource(final MockedDataSource actual) {
assertThat(actual.getMaxPoolSize(), is(100));
assertNull(actual.getMinPoolSize());
}
+
+ @Test
+ void assertCreateAlibabaDruidDataSource() {
+ Map props = new LinkedHashMap<>(3, 1F);
+ props.put("url", "jdbc:h2:mem:foo_ds");
+ props.put("username", "root");
+ props.put("password", "root");
+ DruidDataSource dataSource = (DruidDataSource) DataSourcePoolCreator.create(new DataSourcePoolProperties(DruidDataSource.class.getName(), props));
+ assertThat(dataSource.getUrl(), is("jdbc:h2:mem:foo_ds"));
+ assertThat(dataSource.getUsername(), is("root"));
+ assertThat(dataSource.getPassword(), is("root"));
+ }
}
diff --git a/pom.xml b/pom.xml
index 1ad4dc4d774c4a..7edde21164000a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -126,6 +126,7 @@
2.4.2
4.0.3
+ 1.2.22
0.11.0
0.16.1