This is an automated email from the ASF dual-hosted git repository.

zhonghongsheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 69d7541c865 Refactor package structure of datasource.props (#28053)
69d7541c865 is described below

commit 69d7541c865b0ad9f8305be5afa63ddac5c5301d
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Aug 12 17:12:18 2023 +0800

    Refactor package structure of datasource.props (#28053)
    
    * Refactor DataSourcePoolPropertiesValidator
    
    * Refactor package structure of datasource.props
    
    * Rename TypedDataSourcePoolPropertiesValidator
    
    * Move TypedDataSourcePoolPropertiesValidator
    
    * Refactor DataSourcePoolMetaDataFixture
    
    * Use SPI on TypedDataSourcePoolPropertiesValidator
    
    * Refactor DataSourcePoolPropertiesValidator
---
 .../config/database/DatabaseConfiguration.java     |  2 +-
 .../DataSourceGeneratedDatabaseConfiguration.java  |  4 ++--
 .../DataSourceProvidedDatabaseConfiguration.java   |  4 ++--
 .../infra/instance/mode/ModeContextManager.java    |  2 +-
 .../metadata/database/ShardingSphereDatabase.java  |  2 +-
 .../database/resource/ResourceMetaData.java        |  4 ++--
 .../database/resource/StorageUnitMetaData.java     |  4 ++--
 .../YamlDataSourceConfigurationSwapper.java        |  2 +-
 ...taSourceGeneratedDatabaseConfigurationTest.java |  2 +-
 ...ataSourceProvidedDatabaseConfigurationTest.java |  2 +-
 .../YamlDataSourcePoolPropertiesSwapperTest.java   |  2 +-
 .../pool/creator/DataSourcePoolCreator.java        |  4 ++--
 .../pool/metadata/DataSourcePoolMetaData.java      | 10 ----------
 .../DataSourcePoolPropertiesCreator.java           |  9 +++++----
 .../{ => domain}/DataSourcePoolProperties.java     |  8 ++++----
 .../custom/CustomDataSourcePoolProperties.java     |  2 +-
 .../synonym/ConnectionPropertySynonyms.java        |  2 +-
 .../{ => domain}/synonym/PoolPropertySynonyms.java |  2 +-
 .../{ => domain}/synonym/PropertySynonyms.java     |  2 +-
 .../DataSourcePoolPropertiesValidator.java         | 23 +++++++++++++---------
 .../InvalidDataSourcePoolPropertiesException.java  |  2 +-
 .../TypedDataSourcePoolPropertiesValidator.java}   | 11 +++++++----
 .../datasource/storage/StorageResourceUtils.java   |  4 ++--
 .../storage/StorageResourceWithProperties.java     |  2 +-
 .../pool/creator/DataSourcePoolCreatorTest.java    |  2 +-
 .../fixture/DataSourcePoolMetaDataFixture.java     |  3 ++-
 .../DataSourcePoolPropertiesCreatorTest.java       |  9 +++++----
 .../{ => domain}/DataSourcePoolPropertiesTest.java |  3 ++-
 .../custom/CustomDataSourcePoolPropertiesTest.java |  2 +-
 .../synonym/ConnectionPropertySynonymsTest.java    |  2 +-
 .../synonym/PoolPropertySynonymsTest.java          |  2 +-
 .../DataSourcePoolPropertiesValidatorTest.java     |  5 +++--
 .../creator/C3P0DataSourcePoolCreatorTest.java     |  2 +-
 .../creator/DBCPDataSourcePoolCreatorTest.java     |  2 +-
 .../metadata/HikariDataSourcePoolMetaData.java     |  7 -------
 .../HikariDataSourcePoolPropertiesValidator.java   | 11 ++++++++---
 ...or.typed.TypedDataSourcePoolPropertiesValidator | 18 +++++++++++++++++
 .../creator/HikariDataSourcePoolCreatorTest.java   |  2 +-
 .../DataSourcePoolPropertiesValidateHandler.java   |  6 +++---
 .../DriverDatabaseConnectionManager.java           |  2 +-
 .../DriverDatabaseConnectionManagerTest.java       |  2 +-
 .../StandardPipelineDataSourceConfiguration.java   |  2 +-
 ...tandardPipelineDataSourceConfigurationTest.java |  2 +-
 .../creator/StandardPipelineDataSourceCreator.java |  2 +-
 .../metadata/PipelineDataSourcePersistService.java |  2 +-
 .../core/preparer/PipelineJobPreparerUtils.java    |  2 +-
 .../RegisterMigrationSourceStorageUnitUpdater.java |  2 +-
 .../data/pipeline/cdc/api/impl/CDCJobAPI.java      |  2 +-
 .../migration/api/impl/MigrationJobAPI.java        |  2 +-
 .../persist/MetaDataBasedPersistService.java       |  2 +-
 .../metadata/persist/MetaDataPersistService.java   |  4 ++--
 .../persist/NewMetaDataPersistService.java         |  4 ++--
 .../database/DatabaseBasedPersistService.java      |  2 +-
 .../datasource/DataSourceNodePersistService.java   |  2 +-
 .../datasource/DataSourceUnitPersistService.java   |  2 +-
 .../NewDataSourceNodePersistService.java           |  2 +-
 .../NewDataSourceUnitPersistService.java           |  2 +-
 .../database/DataSourceUnitPersistServiceTest.java |  4 ++--
 .../jta/datasource/swapper/DataSourceSwapper.java  |  2 +-
 .../mode/manager/ContextManager.java               |  2 +-
 .../context/ConfigurationContextManager.java       |  2 +-
 .../manager/switcher/NewResourceSwitchManager.java |  2 +-
 .../manager/switcher/ResourceSwitchManager.java    |  4 ++--
 .../mode/manager/ContextManagerTest.java           |  2 +-
 .../switcher/ResourceSwitchManagerTest.java        |  2 +-
 .../manager/cluster/ClusterModeContextManager.java |  2 +-
 .../cluster/NewClusterModeContextManager.java      |  2 +-
 .../datasource/DataSourceNodesChangedEvent.java    |  2 +-
 .../datasource/DataSourceUnitsChangedEvent.java    |  2 +-
 .../metadata/watcher/MetaDataChangedWatcher.java   |  2 +-
 .../cluster/ClusterModeContextManagerTest.java     |  2 +-
 .../ConfigurationChangedSubscriberTest.java        |  4 ++--
 .../ResourceMetaDataChangedSubscriberTest.java     |  4 ++--
 .../NewStandaloneModeContextManager.java           |  2 +-
 .../standalone/StandaloneModeContextManager.java   |  2 +-
 .../converter/DataSourceSegmentsConverter.java     |  2 +-
 .../converter/DataSourceSegmentsConverterTest.java |  2 +-
 .../swapper/YamlProxyConfigurationSwapper.java     |  4 ++--
 .../ConvertYamlConfigurationExecutor.java          |  8 ++++----
 .../ral/queryable/ExportStorageNodesExecutor.java  |  2 +-
 .../unit/AlterStorageUnitBackendHandler.java       |  4 ++--
 .../unit/RegisterStorageUnitBackendHandler.java    |  2 +-
 .../rql/storage/unit/ShowStorageUnitExecutor.java  |  4 ++--
 .../proxy/backend/util/ExportUtils.java            |  2 +-
 .../YamlDatabaseConfigurationImportExecutor.java   |  4 ++--
 .../ExportDatabaseConfigurationExecutorTest.java   |  4 ++--
 .../ral/queryable/ExportMetaDataExecutorTest.java  |  4 ++--
 .../migration/api/impl/MigrationJobAPITest.java    |  2 +-
 88 files changed, 167 insertions(+), 148 deletions(-)

diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/DatabaseConfiguration.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/DatabaseConfiguration.java
index 224bc0b9240..7941bc53af2 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/DatabaseConfiguration.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/DatabaseConfiguration.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.infra.config.database;
 
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.datasource.storage.StorageResource;
 
 import javax.sql.DataSource;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfiguration.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfiguration.java
index f8019f62f85..5e7d8ae29cb 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfiguration.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfiguration.java
@@ -22,8 +22,8 @@ import 
org.apache.shardingsphere.infra.config.database.DatabaseConfiguration;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import org.apache.shardingsphere.infra.datasource.storage.StorageResource;
 
 import javax.sql.DataSource;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfiguration.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfiguration.java
index c0c6d558c3b..8fd355c0e6a 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfiguration.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfiguration.java
@@ -21,8 +21,8 @@ import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.config.database.DatabaseConfiguration;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import org.apache.shardingsphere.infra.datasource.storage.StorageResource;
 import org.apache.shardingsphere.infra.datasource.storage.StorageResourceUtils;
 
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/mode/ModeContextManager.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/mode/ModeContextManager.java
index 4ab64d8c105..c1ed3fc7ac6 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/mode/ModeContextManager.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/mode/ModeContextManager.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.infra.instance.mode;
 
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaPOJO;
 import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabase.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabase.java
index 87f65921be4..b83cc9a289e 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabase.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabase.java
@@ -24,7 +24,7 @@ import 
org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.datasource.storage.StorageResource;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ResourceMetaData.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ResourceMetaData.java
index ca302d2b80e..f2c69f8c65c 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ResourceMetaData.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ResourceMetaData.java
@@ -21,8 +21,8 @@ import lombok.Getter;
 import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.datasource.pool.destroyer.DataSourcePoolDestroyer;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import org.apache.shardingsphere.infra.datasource.storage.StorageNode;
 import org.apache.shardingsphere.infra.datasource.storage.StorageResource;
 import org.apache.shardingsphere.infra.datasource.storage.StorageResourceUtils;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageUnitMetaData.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageUnitMetaData.java
index 03727407e84..0d9f6dba9da 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageUnitMetaData.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageUnitMetaData.java
@@ -24,8 +24,8 @@ import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropert
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.datasource.CatalogSwitchableDataSource;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import org.apache.shardingsphere.infra.datasource.storage.StorageNode;
 import 
org.apache.shardingsphere.infra.datasource.storage.StorageUnitNodeMapper;
 import org.apache.shardingsphere.infra.state.datasource.DataSourceStateManager;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/config/swapper/resource/YamlDataSourceConfigurationSwapper.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/config/swapper/resource/YamlDataSourceConfigurationSwapper.java
index 6537b2c2b8d..d1f9f089a41 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/config/swapper/resource/YamlDataSourceConfigurationSwapper.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/config/swapper/resource/YamlDataSourceConfigurationSwapper.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.infra.yaml.config.swapper.resource;
 
 import com.google.common.base.Preconditions;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.yaml.config.pojo.YamlRootConfiguration;
 
 import javax.sql.DataSource;
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfigurationTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfigurationTest.java
index 3d06e1ae732..0a3a2fa92e2 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfigurationTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfigurationTest.java
@@ -22,7 +22,7 @@ import 
org.apache.shardingsphere.infra.datasource.CatalogSwitchableDataSource;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.ConnectionConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.PoolConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.datasource.storage.StorageNode;
 import org.apache.shardingsphere.infra.fixture.FixtureRuleConfiguration;
 import org.junit.jupiter.api.Test;
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfigurationTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfigurationTest.java
index b2f8d98adbb..8a93ff3574e 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfigurationTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfigurationTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.infra.config.database.impl;
 
 import org.apache.shardingsphere.infra.datasource.CatalogSwitchableDataSource;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.datasource.storage.StorageNode;
 import org.apache.shardingsphere.infra.fixture.FixtureRuleConfiguration;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/yaml/config/swapper/resource/YamlDataSourcePoolPropertiesSwapperTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/yaml/config/swapper/resource/YamlDataSourcePoolPropertiesSwapperTest.java
index 9225c638657..7e0e9877fec 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/yaml/config/swapper/resource/YamlDataSourcePoolPropertiesSwapperTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/yaml/config/swapper/resource/YamlDataSourcePoolPropertiesSwapperTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.yaml.config.swapper.resource;
 
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreator.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreator.java
index 64f56b9b4d6..921907f0125 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreator.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreator.java
@@ -31,8 +31,8 @@ import 
org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.datasource.pool.destroyer.DataSourcePoolDestroyer;
 import 
org.apache.shardingsphere.infra.datasource.pool.metadata.DataSourcePoolMetaData;
 import 
org.apache.shardingsphere.infra.datasource.pool.metadata.DataSourcePoolMetaDataReflection;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.custom.CustomDataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.custom.CustomDataSourcePoolProperties;
 import org.apache.shardingsphere.infra.datasource.storage.StorageNode;
 import 
org.apache.shardingsphere.infra.datasource.storage.StorageNodeProperties;
 import org.apache.shardingsphere.infra.datasource.storage.StorageResource;
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/metadata/DataSourcePoolMetaData.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/metadata/DataSourcePoolMetaData.java
index 5689ede44ad..2f14412217d 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/metadata/DataSourcePoolMetaData.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/metadata/DataSourcePoolMetaData.java
@@ -22,7 +22,6 @@ import 
org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
 
 import java.util.Collection;
 import java.util.Map;
-import java.util.Optional;
 
 /**
  * Data source pool meta data.
@@ -64,13 +63,4 @@ public interface DataSourcePoolMetaData extends TypedSPI {
      * @return data source pool field meta data
      */
     DataSourcePoolFieldMetaData getFieldMetaData();
-    
-    /**
-     * Get data source pool properties validator.
-     * 
-     * @return data source pool properties validator
-     */
-    default Optional<DataSourcePoolPropertiesValidator> 
getDataSourcePoolPropertiesValidator() {
-        return Optional.empty();
-    }
 }
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesCreator.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/creator/DataSourcePoolPropertiesCreator.java
similarity index 94%
rename from 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesCreator.java
rename to 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/creator/DataSourcePoolPropertiesCreator.java
index ad10815bcd0..2be26427a08 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesCreator.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/creator/DataSourcePoolPropertiesCreator.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props;
+package org.apache.shardingsphere.infra.datasource.pool.props.creator;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
@@ -25,9 +25,10 @@ import 
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfigur
 import 
org.apache.shardingsphere.infra.datasource.pool.config.PoolConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourceReflection;
 import 
org.apache.shardingsphere.infra.datasource.pool.metadata.DataSourcePoolMetaData;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.custom.CustomDataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.synonym.ConnectionPropertySynonyms;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.synonym.PoolPropertySynonyms;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.custom.CustomDataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.synonym.ConnectionPropertySynonyms;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.synonym.PoolPropertySynonyms;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 
 import javax.sql.DataSource;
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolProperties.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/DataSourcePoolProperties.java
similarity index 93%
rename from 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolProperties.java
rename to 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/DataSourcePoolProperties.java
index fe249810441..cf0af8d51e2 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolProperties.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/DataSourcePoolProperties.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props;
+package org.apache.shardingsphere.infra.datasource.pool.props.domain;
 
 import com.google.common.base.Objects;
 import lombok.Getter;
 import 
org.apache.shardingsphere.infra.datasource.pool.metadata.DataSourcePoolMetaData;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.custom.CustomDataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.synonym.ConnectionPropertySynonyms;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.synonym.PoolPropertySynonyms;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.custom.CustomDataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.synonym.ConnectionPropertySynonyms;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.synonym.PoolPropertySynonyms;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 
 import java.util.Collection;
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/custom/CustomDataSourcePoolProperties.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/custom/CustomDataSourcePoolProperties.java
similarity index 97%
rename from 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/custom/CustomDataSourcePoolProperties.java
rename to 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/custom/CustomDataSourcePoolProperties.java
index ea44677b0f2..4a2c4d3c4f6 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/custom/CustomDataSourcePoolProperties.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/custom/CustomDataSourcePoolProperties.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props.custom;
+package org.apache.shardingsphere.infra.datasource.pool.props.domain.custom;
 
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/ConnectionPropertySynonyms.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/ConnectionPropertySynonyms.java
similarity index 95%
rename from 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/ConnectionPropertySynonyms.java
rename to 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/ConnectionPropertySynonyms.java
index 078af2b5669..b4349194303 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/ConnectionPropertySynonyms.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/ConnectionPropertySynonyms.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props.synonym;
+package org.apache.shardingsphere.infra.datasource.pool.props.domain.synonym;
 
 import lombok.EqualsAndHashCode;
 
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/PoolPropertySynonyms.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/PoolPropertySynonyms.java
similarity index 95%
rename from 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/PoolPropertySynonyms.java
rename to 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/PoolPropertySynonyms.java
index 547178328b8..aad6c5a9b89 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/PoolPropertySynonyms.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/PoolPropertySynonyms.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props.synonym;
+package org.apache.shardingsphere.infra.datasource.pool.props.domain.synonym;
 
 import lombok.EqualsAndHashCode;
 
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/PropertySynonyms.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/PropertySynonyms.java
similarity index 97%
rename from 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/PropertySynonyms.java
rename to 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/PropertySynonyms.java
index a025a052d34..8626727de9e 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/PropertySynonyms.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/PropertySynonyms.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props.synonym;
+package org.apache.shardingsphere.infra.datasource.pool.props.domain.synonym;
 
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesValidator.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/validator/DataSourcePoolPropertiesValidator.java
similarity index 70%
rename from 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesValidator.java
rename to 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/validator/DataSourcePoolPropertiesValidator.java
index 3983e73af1e..7dbf7f41a61 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesValidator.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/validator/DataSourcePoolPropertiesValidator.java
@@ -15,11 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props;
+package org.apache.shardingsphere.infra.datasource.pool.props.validator;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
 import 
org.apache.shardingsphere.infra.datasource.pool.destroyer.DataSourcePoolDestroyer;
-import 
org.apache.shardingsphere.infra.datasource.pool.metadata.DataSourcePoolMetaData;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.validator.typed.TypedDataSourcePoolPropertiesValidator;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 
 import javax.sql.DataSource;
@@ -34,6 +37,7 @@ import java.util.Optional;
 /**
  * Data source pool properties validator.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DataSourcePoolPropertiesValidator {
     
     /**
@@ -42,7 +46,7 @@ public final class DataSourcePoolPropertiesValidator {
      * @param propsMap data source pool properties map
      * @return error messages
      */
-    public Collection<String> validate(final Map<String, 
DataSourcePoolProperties> propsMap) {
+    public static Collection<String> validate(final Map<String, 
DataSourcePoolProperties> propsMap) {
         Collection<String> result = new LinkedList<>();
         for (Entry<String, DataSourcePoolProperties> entry : 
propsMap.entrySet()) {
             try {
@@ -55,19 +59,19 @@ public final class DataSourcePoolPropertiesValidator {
         return result;
     }
     
-    private void validateProperties(final String dataSourceName, final 
DataSourcePoolProperties props) throws InvalidDataSourcePoolPropertiesException 
{
-        Optional<DataSourcePoolMetaData> metaData = 
TypedSPILoader.findService(DataSourcePoolMetaData.class, 
props.getPoolClassName());
-        if (!metaData.isPresent()) {
+    private static void validateProperties(final String dataSourceName, final 
DataSourcePoolProperties props) throws InvalidDataSourcePoolPropertiesException 
{
+        Optional<TypedDataSourcePoolPropertiesValidator> typedValidator = 
TypedSPILoader.findService(TypedDataSourcePoolPropertiesValidator.class, 
props.getPoolClassName());
+        if (!typedValidator.isPresent()) {
             return;
         }
         try {
-            
metaData.get().getDataSourcePoolPropertiesValidator().ifPresent(optional -> 
optional.validate(props));
+            typedValidator.ifPresent(optional -> optional.validate(props));
         } catch (final IllegalArgumentException ex) {
             throw new InvalidDataSourcePoolPropertiesException(dataSourceName, 
ex.getMessage());
         }
     }
     
-    private void validateConnection(final String dataSourceName, final 
DataSourcePoolProperties props) throws InvalidDataSourcePoolPropertiesException 
{
+    private static void validateConnection(final String dataSourceName, final 
DataSourcePoolProperties props) throws InvalidDataSourcePoolPropertiesException 
{
         DataSource dataSource = null;
         try {
             dataSource = DataSourcePoolCreator.create(props);
@@ -83,7 +87,8 @@ public final class DataSourcePoolPropertiesValidator {
         }
     }
     
-    private void checkFailFast(final DataSource dataSource) throws 
SQLException {
+    @SuppressWarnings("EmptyTryBlock")
+    private static void checkFailFast(final DataSource dataSource) throws 
SQLException {
         // CHECKSTYLE:OFF
         try (Connection ignored = dataSource.getConnection()) {
             // CHECKSTYLE:ON
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/InvalidDataSourcePoolPropertiesException.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/validator/InvalidDataSourcePoolPropertiesException.java
similarity index 94%
rename from 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/InvalidDataSourcePoolPropertiesException.java
rename to 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/validator/InvalidDataSourcePoolPropertiesException.java
index a98299b669c..63c9c4ff05f 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/InvalidDataSourcePoolPropertiesException.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/validator/InvalidDataSourcePoolPropertiesException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props;
+package org.apache.shardingsphere.infra.datasource.pool.props.validator;
 
 import 
org.apache.shardingsphere.infra.exception.core.internal.ShardingSphereInternalException;
 
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/metadata/DataSourcePoolPropertiesValidator.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/validator/typed/TypedDataSourcePoolPropertiesValidator.java
similarity index 68%
rename from 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/metadata/DataSourcePoolPropertiesValidator.java
rename to 
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/validator/typed/TypedDataSourcePoolPropertiesValidator.java
index 8ca46f95c4a..2d592e43acc 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/metadata/DataSourcePoolPropertiesValidator.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/pool/props/validator/typed/TypedDataSourcePoolPropertiesValidator.java
@@ -15,14 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.metadata;
+package org.apache.shardingsphere.infra.datasource.pool.props.validator.typed;
 
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
+import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
 
 /**
- * Data source pool properties validator.
+ * Typed data source pool properties validator.
  */
-public interface DataSourcePoolPropertiesValidator {
+@SingletonSPI
+public interface TypedDataSourcePoolPropertiesValidator extends TypedSPI {
     
     /**
      * Validate data source properties.
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/storage/StorageResourceUtils.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/storage/StorageResourceUtils.java
index acd8dc887bc..d64be3c319b 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/storage/StorageResourceUtils.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/storage/StorageResourceUtils.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.infra.datasource.storage;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 
 import javax.sql.DataSource;
 import java.util.LinkedHashMap;
diff --git 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/storage/StorageResourceWithProperties.java
 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/storage/StorageResourceWithProperties.java
index 41121069ba4..ea520c2afc0 100644
--- 
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/storage/StorageResourceWithProperties.java
+++ 
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/storage/StorageResourceWithProperties.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.infra.datasource.storage;
 
 import lombok.Getter;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 
 import javax.sql.DataSource;
 import java.util.Map;
diff --git 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreatorTest.java
 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreatorTest.java
index 69e649884d3..3bf31ac407a 100644
--- 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreatorTest.java
+++ 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreatorTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.datasource.pool.creator;
 
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/metadata/fixture/DataSourcePoolMetaDataFixture.java
 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/metadata/fixture/DataSourcePoolMetaDataFixture.java
index a7c036fcbce..ac03f15943b 100644
--- 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/metadata/fixture/DataSourcePoolMetaDataFixture.java
+++ 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/metadata/fixture/DataSourcePoolMetaDataFixture.java
@@ -18,6 +18,7 @@
 package org.apache.shardingsphere.infra.datasource.pool.metadata.fixture;
 
 import 
org.apache.shardingsphere.infra.datasource.pool.metadata.DataSourcePoolMetaData;
+import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -59,6 +60,6 @@ public final class DataSourcePoolMetaDataFixture implements 
DataSourcePoolMetaDa
     
     @Override
     public String getType() {
-        return "org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource";
+        return MockedDataSource.class.getName();
     }
 }
diff --git 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesCreatorTest.java
 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/creator/DataSourcePoolPropertiesCreatorTest.java
similarity index 93%
rename from 
infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesCreatorTest.java
rename to 
infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/creator/DataSourcePoolPropertiesCreatorTest.java
index ab816f8274d..7b14cc3df52 100644
--- 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesCreatorTest.java
+++ 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/creator/DataSourcePoolPropertiesCreatorTest.java
@@ -15,14 +15,15 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props;
+package org.apache.shardingsphere.infra.datasource.pool.props.creator;
 
 import 
org.apache.shardingsphere.infra.datasource.pool.config.ConnectionConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.PoolConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.custom.CustomDataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.synonym.ConnectionPropertySynonyms;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.synonym.PoolPropertySynonyms;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.custom.CustomDataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.synonym.ConnectionPropertySynonyms;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.synonym.PoolPropertySynonyms;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesTest.java
 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/DataSourcePoolPropertiesTest.java
similarity index 97%
rename from 
infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesTest.java
rename to 
infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/DataSourcePoolPropertiesTest.java
index 06f19c5f6b5..a61b94d56ab 100644
--- 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesTest.java
+++ 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/DataSourcePoolPropertiesTest.java
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props;
+package org.apache.shardingsphere.infra.datasource.pool.props.domain;
 
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/custom/CustomDataSourcePoolPropertiesTest.java
 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/custom/CustomDataSourcePoolPropertiesTest.java
similarity index 97%
rename from 
infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/custom/CustomDataSourcePoolPropertiesTest.java
rename to 
infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/custom/CustomDataSourcePoolPropertiesTest.java
index a7a8eb6bf49..0eafba91d5d 100644
--- 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/custom/CustomDataSourcePoolPropertiesTest.java
+++ 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/custom/CustomDataSourcePoolPropertiesTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props.custom;
+package org.apache.shardingsphere.infra.datasource.pool.props.domain.custom;
 
 import org.junit.jupiter.api.Test;
 
diff --git 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/ConnectionPropertySynonymsTest.java
 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/ConnectionPropertySynonymsTest.java
similarity index 98%
rename from 
infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/ConnectionPropertySynonymsTest.java
rename to 
infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/ConnectionPropertySynonymsTest.java
index 7373577697e..111a9cd443a 100644
--- 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/ConnectionPropertySynonymsTest.java
+++ 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/ConnectionPropertySynonymsTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props.synonym;
+package org.apache.shardingsphere.infra.datasource.pool.props.domain.synonym;
 
 import org.junit.jupiter.api.Test;
 
diff --git 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/PoolPropertySynonymsTest.java
 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/PoolPropertySynonymsTest.java
similarity index 98%
rename from 
infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/PoolPropertySynonymsTest.java
rename to 
infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/PoolPropertySynonymsTest.java
index 180ce089b76..6ab274fc589 100644
--- 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/synonym/PoolPropertySynonymsTest.java
+++ 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/domain/synonym/PoolPropertySynonymsTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props.synonym;
+package org.apache.shardingsphere.infra.datasource.pool.props.domain.synonym;
 
 import org.junit.jupiter.api.Test;
 
diff --git 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesValidatorTest.java
 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/validator/DataSourcePoolPropertiesValidatorTest.java
similarity index 86%
rename from 
infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesValidatorTest.java
rename to 
infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/validator/DataSourcePoolPropertiesValidatorTest.java
index 42f7e078516..c450d8faa6a 100644
--- 
a/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/DataSourcePoolPropertiesValidatorTest.java
+++ 
b/infra/datasource/core/src/test/java/org/apache/shardingsphere/infra/datasource/pool/props/validator/DataSourcePoolPropertiesValidatorTest.java
@@ -15,9 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.datasource.pool.props;
+package org.apache.shardingsphere.infra.datasource.pool.props.validator;
 
 import com.zaxxer.hikari.HikariDataSource;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDriver;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -35,7 +36,7 @@ class DataSourcePoolPropertiesValidatorTest {
     
     @Test
     void assertValidateSuccess() {
-        assertTrue(new DataSourcePoolPropertiesValidator().validate(
+        assertTrue(DataSourcePoolPropertiesValidator.validate(
                 Collections.singletonMap("name", new 
DataSourcePoolProperties(HikariDataSource.class.getName(), 
Collections.singletonMap("jdbcUrl", "jdbc:mock")))).isEmpty());
     }
 }
diff --git 
a/infra/datasource/type/c3p0/src/test/java/org/apache/shardingsphere/infra/datasource/c3p0/creator/C3P0DataSourcePoolCreatorTest.java
 
b/infra/datasource/type/c3p0/src/test/java/org/apache/shardingsphere/infra/datasource/c3p0/creator/C3P0DataSourcePoolCreatorTest.java
index 33b63d31a02..9fcf6315a9f 100644
--- 
a/infra/datasource/type/c3p0/src/test/java/org/apache/shardingsphere/infra/datasource/c3p0/creator/C3P0DataSourcePoolCreatorTest.java
+++ 
b/infra/datasource/type/c3p0/src/test/java/org/apache/shardingsphere/infra/datasource/c3p0/creator/C3P0DataSourcePoolCreatorTest.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.infra.datasource.c3p0.creator;
 
 import com.mchange.v2.c3p0.ComboPooledDataSource;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
 import org.apache.shardingsphere.test.util.PropertiesBuilder;
 import org.junit.jupiter.api.Test;
diff --git 
a/infra/datasource/type/dbcp/src/test/java/org/apache/shardingsphere/infra/datasource/dbcp/creator/DBCPDataSourcePoolCreatorTest.java
 
b/infra/datasource/type/dbcp/src/test/java/org/apache/shardingsphere/infra/datasource/dbcp/creator/DBCPDataSourcePoolCreatorTest.java
index 9140ec8e000..647b0beab81 100644
--- 
a/infra/datasource/type/dbcp/src/test/java/org/apache/shardingsphere/infra/datasource/dbcp/creator/DBCPDataSourcePoolCreatorTest.java
+++ 
b/infra/datasource/type/dbcp/src/test/java/org/apache/shardingsphere/infra/datasource/dbcp/creator/DBCPDataSourcePoolCreatorTest.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.infra.datasource.dbcp.creator;
 import lombok.SneakyThrows;
 import org.apache.commons.dbcp2.BasicDataSource;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
 import org.apache.shardingsphere.test.util.PropertiesBuilder;
 import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
diff --git 
a/infra/datasource/type/hikari/src/main/java/org/apache/shardingsphere/infra/datasource/hikari/metadata/HikariDataSourcePoolMetaData.java
 
b/infra/datasource/type/hikari/src/main/java/org/apache/shardingsphere/infra/datasource/hikari/metadata/HikariDataSourcePoolMetaData.java
index 0647c42f03c..c9745de9e7f 100644
--- 
a/infra/datasource/type/hikari/src/main/java/org/apache/shardingsphere/infra/datasource/hikari/metadata/HikariDataSourcePoolMetaData.java
+++ 
b/infra/datasource/type/hikari/src/main/java/org/apache/shardingsphere/infra/datasource/hikari/metadata/HikariDataSourcePoolMetaData.java
@@ -18,13 +18,11 @@
 package org.apache.shardingsphere.infra.datasource.hikari.metadata;
 
 import 
org.apache.shardingsphere.infra.datasource.pool.metadata.DataSourcePoolMetaData;
-import 
org.apache.shardingsphere.infra.datasource.pool.metadata.DataSourcePoolPropertiesValidator;
 
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.Map;
-import java.util.Optional;
 
 /**
  * Hikari data source pool meta data.
@@ -101,11 +99,6 @@ public final class HikariDataSourcePoolMetaData implements 
DataSourcePoolMetaDat
         return new HikariDataSourcePoolFieldMetaData();
     }
     
-    @Override
-    public Optional<DataSourcePoolPropertiesValidator> 
getDataSourcePoolPropertiesValidator() {
-        return Optional.of(new HikariDataSourcePoolPropertiesValidator());
-    }
-    
     @Override
     public String getType() {
         return "com.zaxxer.hikari.HikariDataSource";
diff --git 
a/infra/datasource/type/hikari/src/main/java/org/apache/shardingsphere/infra/datasource/hikari/metadata/HikariDataSourcePoolPropertiesValidator.java
 
b/infra/datasource/type/hikari/src/main/java/org/apache/shardingsphere/infra/datasource/hikari/metadata/HikariDataSourcePoolPropertiesValidator.java
index 7f3ba18b393..0e2c83e21df 100644
--- 
a/infra/datasource/type/hikari/src/main/java/org/apache/shardingsphere/infra/datasource/hikari/metadata/HikariDataSourcePoolPropertiesValidator.java
+++ 
b/infra/datasource/type/hikari/src/main/java/org/apache/shardingsphere/infra/datasource/hikari/metadata/HikariDataSourcePoolPropertiesValidator.java
@@ -18,8 +18,8 @@
 package org.apache.shardingsphere.infra.datasource.hikari.metadata;
 
 import com.google.common.base.Preconditions;
-import 
org.apache.shardingsphere.infra.datasource.pool.metadata.DataSourcePoolPropertiesValidator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.validator.typed.TypedDataSourcePoolPropertiesValidator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
@@ -27,7 +27,7 @@ import java.util.concurrent.TimeUnit;
 /**
  * Data source pool properties validator of HikariCP.
  */
-public final class HikariDataSourcePoolPropertiesValidator implements 
DataSourcePoolPropertiesValidator {
+public final class HikariDataSourcePoolPropertiesValidator implements 
TypedDataSourcePoolPropertiesValidator {
     
     private static final long MIN_CONNECTION_TIMEOUT_MILLISECONDS = 250L;
     
@@ -95,4 +95,9 @@ public final class HikariDataSourcePoolPropertiesValidator 
implements DataSource
     private boolean isExisted(final Map<String, Object> allLocalProps, final 
String key) {
         return allLocalProps.containsKey(key) && null != 
allLocalProps.get(key);
     }
+    
+    @Override
+    public Object getType() {
+        return "com.zaxxer.hikari.HikariDataSource";
+    }
 }
diff --git 
a/infra/datasource/type/hikari/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.datasource.pool.props.validator.typed.TypedDataSourcePoolPropertiesValidator
 
b/infra/datasource/type/hikari/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.datasource.pool.props.validator.typed.TypedDataSourcePoolPropertiesValidator
new file mode 100644
index 00000000000..97760c66665
--- /dev/null
+++ 
b/infra/datasource/type/hikari/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.datasource.pool.props.validator.typed.TypedDataSourcePoolPropertiesValidator
@@ -0,0 +1,18 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+org.apache.shardingsphere.infra.datasource.hikari.metadata.HikariDataSourcePoolPropertiesValidator
diff --git 
a/infra/datasource/type/hikari/src/test/java/org/apache/shardingsphere/infra/datasource/hikari/creator/HikariDataSourcePoolCreatorTest.java
 
b/infra/datasource/type/hikari/src/test/java/org/apache/shardingsphere/infra/datasource/hikari/creator/HikariDataSourcePoolCreatorTest.java
index 7b7550c5d21..3b2714911f8 100644
--- 
a/infra/datasource/type/hikari/src/test/java/org/apache/shardingsphere/infra/datasource/hikari/creator/HikariDataSourcePoolCreatorTest.java
+++ 
b/infra/datasource/type/hikari/src/test/java/org/apache/shardingsphere/infra/datasource/hikari/creator/HikariDataSourcePoolCreatorTest.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.infra.datasource.hikari.creator;
 
 import com.zaxxer.hikari.HikariDataSource;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
 import org.apache.shardingsphere.test.util.PropertiesBuilder;
 import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
diff --git 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/validate/DataSourcePoolPropertiesValidateHandler.java
 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/validate/DataSourcePoolPropertiesValidateHandler.java
index 05fdcb2c334..a2f017cd5a3 100644
--- 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/validate/DataSourcePoolPropertiesValidateHandler.java
+++ 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/validate/DataSourcePoolPropertiesValidateHandler.java
@@ -18,8 +18,8 @@
 package org.apache.shardingsphere.distsql.handler.validate;
 
 import 
org.apache.shardingsphere.distsql.handler.exception.storageunit.InvalidStorageUnitsException;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesValidator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.validator.DataSourcePoolPropertiesValidator;
 
 import java.util.Collection;
 import java.util.Map;
@@ -36,7 +36,7 @@ public final class DataSourcePoolPropertiesValidateHandler {
      * @throws InvalidStorageUnitsException invalid storage units exception
      */
     public void validate(final Map<String, DataSourcePoolProperties> propsMap) 
{
-        Collection<String> errorMessages = new 
DataSourcePoolPropertiesValidator().validate(propsMap);
+        Collection<String> errorMessages = 
DataSourcePoolPropertiesValidator.validate(propsMap);
         if (!errorMessages.isEmpty()) {
             throw new InvalidStorageUnitsException(errorMessages);
         }
diff --git 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/DriverDatabaseConnectionManager.java
 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/DriverDatabaseConnectionManager.java
index 229f9542ee4..9a8ebe6af6d 100644
--- 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/DriverDatabaseConnectionManager.java
+++ 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/DriverDatabaseConnectionManager.java
@@ -26,7 +26,7 @@ import 
org.apache.shardingsphere.driver.jdbc.adapter.executor.ForceExecuteTempla
 import 
org.apache.shardingsphere.driver.jdbc.adapter.invocation.MethodInvocationRecorder;
 import org.apache.shardingsphere.driver.jdbc.core.ShardingSphereSavepoint;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import 
org.apache.shardingsphere.infra.exception.OverallConnectionNotEnoughException;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.ConnectionMode;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.DatabaseConnectionManager;
diff --git 
a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/connection/DriverDatabaseConnectionManagerTest.java
 
b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/connection/DriverDatabaseConnectionManagerTest.java
index dac6d686e63..bfe4be958da 100644
--- 
a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/connection/DriverDatabaseConnectionManagerTest.java
+++ 
b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/connection/DriverDatabaseConnectionManagerTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.driver.jdbc.core.connection;
 import com.zaxxer.hikari.HikariDataSource;
 import org.apache.shardingsphere.infra.database.core.DefaultDatabase;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.ConnectionMode;
 import org.apache.shardingsphere.infra.instance.metadata.InstanceType;
 import 
org.apache.shardingsphere.infra.instance.metadata.proxy.ProxyInstanceMetaData;
diff --git 
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/datasource/config/impl/StandardPipelineDataSourceConfiguration.java
 
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/datasource/config/impl/StandardPipelineDataSourceConfiguration.java
index 207afbe5b78..b2c0910f961 100644
--- 
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/datasource/config/impl/StandardPipelineDataSourceConfiguration.java
+++ 
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/datasource/config/impl/StandardPipelineDataSourceConfiguration.java
@@ -26,7 +26,7 @@ import 
org.apache.shardingsphere.infra.database.core.connector.url.JdbcUrlAppend
 import 
org.apache.shardingsphere.infra.database.core.connector.url.StandardJdbcUrlParser;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.resource.YamlDataSourceConfigurationSwapper;
diff --git 
a/kernel/data-pipeline/api/src/test/java/org/apache/shardingsphere/data/pipeline/api/datasource/config/impl/StandardPipelineDataSourceConfigurationTest.java
 
b/kernel/data-pipeline/api/src/test/java/org/apache/shardingsphere/data/pipeline/api/datasource/config/impl/StandardPipelineDataSourceConfigurationTest.java
index 3995acbf774..88c7cc36025 100644
--- 
a/kernel/data-pipeline/api/src/test/java/org/apache/shardingsphere/data/pipeline/api/datasource/config/impl/StandardPipelineDataSourceConfigurationTest.java
+++ 
b/kernel/data-pipeline/api/src/test/java/org/apache/shardingsphere/data/pipeline/api/datasource/config/impl/StandardPipelineDataSourceConfigurationTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.data.pipeline.api.datasource.config.impl;
 
 import 
org.apache.shardingsphere.data.pipeline.api.datasource.config.yaml.YamlJdbcConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.resource.YamlDataSourceConfigurationSwapper;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/datasource/creator/StandardPipelineDataSourceCreator.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/datasource/creator/StandardPipelineDataSourceCreator.java
index 0791c2a4812..42710de0b7b 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/datasource/creator/StandardPipelineDataSourceCreator.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/datasource/creator/StandardPipelineDataSourceCreator.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.data.pipeline.common.datasource.creator;
 import 
org.apache.shardingsphere.data.pipeline.api.datasource.config.impl.StandardPipelineDataSourceConfiguration;
 import 
org.apache.shardingsphere.data.pipeline.spi.datasource.creator.PipelineDataSourceCreator;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 
 import javax.sql.DataSource;
 
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/PipelineDataSourcePersistService.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/PipelineDataSourcePersistService.java
index c9a427662dc..ad7ed42c007 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/PipelineDataSourcePersistService.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/PipelineDataSourcePersistService.java
@@ -21,7 +21,7 @@ import com.google.common.base.Strings;
 import 
org.apache.shardingsphere.data.pipeline.common.context.PipelineContextKey;
 import org.apache.shardingsphere.data.pipeline.common.job.type.JobType;
 import 
org.apache.shardingsphere.data.pipeline.core.job.service.PipelineAPIFactory;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.resource.YamlDataSourceConfigurationSwapper;
 
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/PipelineJobPreparerUtils.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/PipelineJobPreparerUtils.java
index 895922c1bcc..02f46a39928 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/PipelineJobPreparerUtils.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/PipelineJobPreparerUtils.java
@@ -38,7 +38,7 @@ import 
org.apache.shardingsphere.data.pipeline.spi.ingest.position.PositionIniti
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.infra.parser.SQLParserEngine;
diff --git 
a/kernel/data-pipeline/distsql/handler/src/main/java/org/apache/shardingsphere/migration/distsql/handler/update/RegisterMigrationSourceStorageUnitUpdater.java
 
b/kernel/data-pipeline/distsql/handler/src/main/java/org/apache/shardingsphere/migration/distsql/handler/update/RegisterMigrationSourceStorageUnitUpdater.java
index 337053cdcaa..3f89bbe8794 100644
--- 
a/kernel/data-pipeline/distsql/handler/src/main/java/org/apache/shardingsphere/migration/distsql/handler/update/RegisterMigrationSourceStorageUnitUpdater.java
+++ 
b/kernel/data-pipeline/distsql/handler/src/main/java/org/apache/shardingsphere/migration/distsql/handler/update/RegisterMigrationSourceStorageUnitUpdater.java
@@ -27,7 +27,7 @@ import 
org.apache.shardingsphere.distsql.parser.segment.URLBasedDataSourceSegmen
 import 
org.apache.shardingsphere.distsql.parser.segment.converter.DataSourceSegmentsConverter;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import 
org.apache.shardingsphere.infra.exception.core.external.sql.type.generic.UnsupportedSQLOperationException;
 import 
org.apache.shardingsphere.migration.distsql.statement.RegisterMigrationSourceStorageUnitStatement;
diff --git 
a/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/api/impl/CDCJobAPI.java
 
b/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/api/impl/CDCJobAPI.java
index dfec3be2944..8b323ea6381 100644
--- 
a/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/api/impl/CDCJobAPI.java
+++ 
b/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/api/impl/CDCJobAPI.java
@@ -76,7 +76,7 @@ import 
org.apache.shardingsphere.data.pipeline.core.preparer.PipelineJobPreparer
 import 
org.apache.shardingsphere.data.pipeline.spi.ratelimit.JobRateLimitAlgorithm;
 import org.apache.shardingsphere.elasticjob.infra.pojo.JobConfigurationPOJO;
 import 
org.apache.shardingsphere.elasticjob.lite.api.bootstrap.impl.OneOffJobBootstrap;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
diff --git 
a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/impl/MigrationJobAPI.java
 
b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/impl/MigrationJobAPI.java
index 87c162c7c07..9fc1b7c28e7 100644
--- 
a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/impl/MigrationJobAPI.java
+++ 
b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/impl/MigrationJobAPI.java
@@ -83,7 +83,7 @@ import 
org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.datanode.DataNode;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataBasedPersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataBasedPersistService.java
index 212ff55968a..f4b6d696659 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataBasedPersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataBasedPersistService.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.metadata.persist;
 import org.apache.shardingsphere.infra.config.database.DatabaseConfiguration;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import 
org.apache.shardingsphere.metadata.persist.data.ShardingSphereDataBasedPersistService;
 import 
org.apache.shardingsphere.metadata.persist.service.config.database.DatabaseBasedPersistService;
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
index 84f3d3b9219..00d76257215 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
@@ -23,8 +23,8 @@ import 
org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import 
org.apache.shardingsphere.infra.config.rule.decorator.RuleConfigurationDecorator;
 import 
org.apache.shardingsphere.infra.datasource.pool.destroyer.DataSourcePoolDestroyer;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import org.apache.shardingsphere.infra.datasource.storage.StorageNode;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/NewMetaDataPersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/NewMetaDataPersistService.java
index 9000d49de0a..708c7b3c4cd 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/NewMetaDataPersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/NewMetaDataPersistService.java
@@ -23,8 +23,8 @@ import 
org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import 
org.apache.shardingsphere.infra.config.rule.decorator.RuleConfigurationDecorator;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.destroyer.DataSourcePoolDestroyer;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import org.apache.shardingsphere.infra.datasource.storage.StorageNode;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/DatabaseBasedPersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/DatabaseBasedPersistService.java
index 883d80fdf57..03411991926 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/DatabaseBasedPersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/DatabaseBasedPersistService.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.metadata.persist.service.config.database;
 
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
 
 import java.util.Collection;
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/DataSourceNodePersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/DataSourceNodePersistService.java
index d2398c1e28c..f706213e71a 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/DataSourceNodePersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/DataSourceNodePersistService.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.metadata.persist.service.config.database.datas
 
 import com.google.common.base.Strings;
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.resource.YamlDataSourceConfigurationSwapper;
 import org.apache.shardingsphere.metadata.persist.node.DatabaseMetaDataNode;
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/DataSourceUnitPersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/DataSourceUnitPersistService.java
index bc811bc34da..1aadc20d0bd 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/DataSourceUnitPersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/DataSourceUnitPersistService.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.metadata.persist.service.config.database.datas
 
 import com.google.common.base.Strings;
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.resource.YamlDataSourceConfigurationSwapper;
 import org.apache.shardingsphere.metadata.persist.node.DatabaseMetaDataNode;
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/NewDataSourceNodePersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/NewDataSourceNodePersistService.java
index c78bedaa564..03b716ffee0 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/NewDataSourceNodePersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/NewDataSourceNodePersistService.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.metadata.persist.service.config.database.datas
 
 import com.google.common.base.Strings;
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.resource.YamlDataSourceConfigurationSwapper;
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/NewDataSourceUnitPersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/NewDataSourceUnitPersistService.java
index 3fcd9daa7f6..eac8654fe27 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/NewDataSourceUnitPersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/datasource/NewDataSourceUnitPersistService.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.metadata.persist.service.config.database.datas
 
 import com.google.common.base.Strings;
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.resource.YamlDataSourceConfigurationSwapper;
diff --git 
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/service/config/database/DataSourceUnitPersistServiceTest.java
 
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/service/config/database/DataSourceUnitPersistServiceTest.java
index c39b1e9a1b6..eb502feb2b8 100644
--- 
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/service/config/database/DataSourceUnitPersistServiceTest.java
+++ 
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/service/config/database/DataSourceUnitPersistServiceTest.java
@@ -18,8 +18,8 @@
 package org.apache.shardingsphere.metadata.persist.service.config.database;
 
 import lombok.SneakyThrows;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import 
org.apache.shardingsphere.metadata.persist.service.config.database.datasource.DataSourceUnitPersistService;
 import org.apache.shardingsphere.mode.spi.PersistRepository;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
diff --git 
a/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/swapper/DataSourceSwapper.java
 
b/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/swapper/DataSourceSwapper.java
index 06dcb7a8b82..78bb9ddf268 100644
--- 
a/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/swapper/DataSourceSwapper.java
+++ 
b/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/swapper/DataSourceSwapper.java
@@ -21,7 +21,7 @@ import com.google.common.base.CaseFormat;
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
 import org.apache.shardingsphere.infra.datasource.CatalogSwitchableDataSource;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import 
org.apache.shardingsphere.transaction.xa.jta.datasource.properties.XADataSourceDefinition;
 import 
org.apache.shardingsphere.transaction.xa.jta.exception.XADataSourceInitializeException;
 
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
index 0347a756402..007aa7b580a 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
@@ -21,7 +21,7 @@ import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/context/ConfigurationContextManager.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/context/ConfigurationContextManager.java
index 27e93294fbf..af99ff8a204 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/context/ConfigurationContextManager.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/context/ConfigurationContextManager.java
@@ -24,7 +24,7 @@ import 
org.apache.shardingsphere.infra.config.database.impl.DataSourceProvidedDa
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import 
org.apache.shardingsphere.infra.config.rule.scope.DatabaseRuleConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.datasource.storage.StorageNode;
 import org.apache.shardingsphere.infra.datasource.storage.StorageResource;
 import 
org.apache.shardingsphere.infra.datasource.storage.StorageUnitNodeMapper;
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/NewResourceSwitchManager.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/NewResourceSwitchManager.java
index db77f356d04..26ff5158f42 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/NewResourceSwitchManager.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/NewResourceSwitchManager.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mode.manager.switcher;
 
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.datasource.storage.StorageNode;
 import org.apache.shardingsphere.infra.datasource.storage.StorageResource;
 import 
org.apache.shardingsphere.infra.datasource.storage.StorageResourceWithProperties;
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManager.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManager.java
index e2db6de8bf5..88d57627963 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManager.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManager.java
@@ -18,8 +18,8 @@
 package org.apache.shardingsphere.mode.manager.switcher;
 
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import org.apache.shardingsphere.infra.datasource.storage.StorageNode;
 import org.apache.shardingsphere.infra.datasource.storage.StorageResource;
 import 
org.apache.shardingsphere.infra.datasource.storage.StorageResourceWithProperties;
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
index 183a1df9aee..944ea7bbf58 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
@@ -23,7 +23,7 @@ import 
org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import org.apache.shardingsphere.infra.database.core.DefaultDatabase;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.datanode.DataNode;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.datasource.storage.StorageNode;
 import org.apache.shardingsphere.infra.datasource.storage.StorageResourceUtils;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManagerTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManagerTest.java
index 464a8927902..d8d9a21d54a 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManagerTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManagerTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mode.manager.switcher;
 
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.datasource.storage.StorageNode;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManager.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManager.java
index 9ee625f59d8..2e25594130c 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManager.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManager.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mode.manager.cluster;
 
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/NewClusterModeContextManager.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/NewClusterModeContextManager.java
index b88e89f0249..c5bc6037617 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/NewClusterModeContextManager.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/NewClusterModeContextManager.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mode.manager.cluster;
 
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/datasource/DataSourceNodesChangedEvent.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/datasource/DataSourceNodesChangedEvent.java
index b38fcfb2554..b2aca1cb139 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/datasource/DataSourceNodesChangedEvent.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/datasource/DataSourceNodesChangedEvent.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.conf
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
 
 import java.util.Map;
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/datasource/DataSourceUnitsChangedEvent.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/datasource/DataSourceUnitsChangedEvent.java
index ae1a8f81a2f..dbba07e2685 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/datasource/DataSourceUnitsChangedEvent.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/datasource/DataSourceUnitsChangedEvent.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.conf
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
 
 import java.util.Map;
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcher.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcher.java
index c3cec993a06..60fbaae8e21 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcher.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcher.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.meta
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.builder.SystemSchemaBuilderRule;
 import 
org.apache.shardingsphere.infra.yaml.config.pojo.rule.YamlRuleConfiguration;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.resource.YamlDataSourceConfigurationSwapper;
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManagerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManagerTest.java
index 87e295ea854..2c15d64164a 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManagerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManagerTest.java
@@ -21,7 +21,7 @@ import 
org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.instance.ComputeNodeInstance;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import 
org.apache.shardingsphere.infra.instance.metadata.jdbc.JDBCInstanceMetaData;
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ConfigurationChangedSubscriberTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ConfigurationChangedSubscriberTest.java
index a140ff0eea0..6421832f39f 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ConfigurationChangedSubscriberTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ConfigurationChangedSubscriberTest.java
@@ -25,8 +25,8 @@ import 
org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
 import 
org.apache.shardingsphere.infra.instance.metadata.proxy.ProxyInstanceMetaData;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ResourceMetaDataChangedSubscriberTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ResourceMetaDataChangedSubscriberTest.java
index eaf1262978c..27ccb8acd90 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ResourceMetaDataChangedSubscriberTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ResourceMetaDataChangedSubscriberTest.java
@@ -20,8 +20,8 @@ package 
org.apache.shardingsphere.mode.manager.cluster.coordinator.subscriber;
 import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
 import 
org.apache.shardingsphere.infra.instance.metadata.proxy.ProxyInstanceMetaData;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
diff --git 
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/NewStandaloneModeContextManager.java
 
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/NewStandaloneModeContextManager.java
index 7539ce9bd1d..945fcfe7af3 100644
--- 
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/NewStandaloneModeContextManager.java
+++ 
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/NewStandaloneModeContextManager.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.mode.manager.standalone;
 
 import com.google.common.base.Strings;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
diff --git 
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneModeContextManager.java
 
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneModeContextManager.java
index 2e94198259c..0a2cc0ff12e 100644
--- 
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneModeContextManager.java
+++ 
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneModeContextManager.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.mode.manager.standalone;
 
 import com.google.common.base.Strings;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
diff --git 
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/converter/DataSourceSegmentsConverter.java
 
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/converter/DataSourceSegmentsConverter.java
index 73bd228cf54..d9632ce5515 100644
--- 
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/converter/DataSourceSegmentsConverter.java
+++ 
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/converter/DataSourceSegmentsConverter.java
@@ -23,7 +23,7 @@ import 
org.apache.shardingsphere.distsql.parser.segment.DataSourceSegment;
 import 
org.apache.shardingsphere.distsql.parser.segment.HostnameAndPortBasedDataSourceSegment;
 import 
org.apache.shardingsphere.distsql.parser.segment.URLBasedDataSourceSegment;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 
 import java.util.Collection;
 import java.util.LinkedHashMap;
diff --git 
a/parser/distsql/statement/src/test/java/org/apache/shardingsphere/distsql/parser/segment/converter/DataSourceSegmentsConverterTest.java
 
b/parser/distsql/statement/src/test/java/org/apache/shardingsphere/distsql/parser/segment/converter/DataSourceSegmentsConverterTest.java
index 1c90f7b035d..9c365cc88c1 100644
--- 
a/parser/distsql/statement/src/test/java/org/apache/shardingsphere/distsql/parser/segment/converter/DataSourceSegmentsConverterTest.java
+++ 
b/parser/distsql/statement/src/test/java/org/apache/shardingsphere/distsql/parser/segment/converter/DataSourceSegmentsConverterTest.java
@@ -21,7 +21,7 @@ import 
org.apache.shardingsphere.distsql.parser.segment.DataSourceSegment;
 import 
org.apache.shardingsphere.distsql.parser.segment.HostnameAndPortBasedDataSourceSegment;
 import 
org.apache.shardingsphere.distsql.parser.segment.URLBasedDataSourceSegment;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.apache.shardingsphere.test.util.PropertiesBuilder;
 import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/config/yaml/swapper/YamlProxyConfigurationSwapper.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/config/yaml/swapper/YamlProxyConfigurationSwapper.java
index e1e8594cddf..64e0dc93b07 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/config/yaml/swapper/YamlProxyConfigurationSwapper.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/config/yaml/swapper/YamlProxyConfigurationSwapper.java
@@ -22,8 +22,8 @@ import 
org.apache.shardingsphere.infra.config.database.impl.DataSourceGeneratedD
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.rule.YamlRuleConfigurationSwapperEngine;
 import org.apache.shardingsphere.proxy.backend.config.ProxyConfiguration;
 import org.apache.shardingsphere.proxy.backend.config.ProxyGlobalConfiguration;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationExecutor.java
index 29384c18dab..2f8ad386508 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationExecutor.java
@@ -26,10 +26,10 @@ import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ConvertY
 import 
org.apache.shardingsphere.encrypt.api.config.CompatibleEncryptRuleConfiguration;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.custom.CustomDataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.synonym.PoolPropertySynonyms;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.custom.CustomDataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.synonym.PoolPropertySynonyms;
 import 
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
 import org.apache.shardingsphere.infra.spi.type.ordered.OrderedSPILoader;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportStorageNodesExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportStorageNodesExecutor.java
index c0e4c5dee31..575d012aab9 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportStorageNodesExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportStorageNodesExecutor.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
 import 
org.apache.shardingsphere.distsql.handler.ral.query.MetaDataRequiredQueryableRALExecutor;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ExportStorageNodesStatement;
 import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import 
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/AlterStorageUnitBackendHandler.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/AlterStorageUnitBackendHandler.java
index f831defc1cd..8d0f3a36107 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/AlterStorageUnitBackendHandler.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/AlterStorageUnitBackendHandler.java
@@ -30,8 +30,8 @@ import 
org.apache.shardingsphere.distsql.parser.statement.rdl.alter.AlterStorage
 import org.apache.shardingsphere.infra.database.core.connector.url.JdbcUrl;
 import 
org.apache.shardingsphere.infra.database.core.connector.url.StandardJdbcUrlParser;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import 
org.apache.shardingsphere.infra.exception.core.external.ShardingSphereExternalException;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/RegisterStorageUnitBackendHandler.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/RegisterStorageUnitBackendHandler.java
index 5cfe30192c3..b89c09d950a 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/RegisterStorageUnitBackendHandler.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/RegisterStorageUnitBackendHandler.java
@@ -25,7 +25,7 @@ import 
org.apache.shardingsphere.distsql.parser.segment.DataSourceSegment;
 import 
org.apache.shardingsphere.distsql.parser.segment.converter.DataSourceSegmentsConverter;
 import 
org.apache.shardingsphere.distsql.parser.statement.rdl.create.RegisterStorageUnitStatement;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import 
org.apache.shardingsphere.infra.rule.identifier.type.DataSourceContainedRule;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import 
org.apache.shardingsphere.infra.exception.core.external.ShardingSphereExternalException;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/storage/unit/ShowStorageUnitExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/storage/unit/ShowStorageUnitExecutor.java
index ace4287f092..bc401f3a660 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/storage/unit/ShowStorageUnitExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/storage/unit/ShowStorageUnitExecutor.java
@@ -25,8 +25,8 @@ import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDa
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.datasource.CatalogSwitchableDataSource;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import 
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/ExportUtils.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/ExportUtils.java
index ff081ca1064..865b3f7dfed 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/ExportUtils.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/ExportUtils.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import 
org.apache.shardingsphere.infra.config.rule.scope.DatabaseRuleConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.infra.spi.type.ordered.OrderedSPILoader;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/YamlDatabaseConfigurationImportExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/YamlDatabaseConfigurationImportExecutor.java
index 2251b968c36..e0b5f273bff 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/YamlDatabaseConfigurationImportExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/YamlDatabaseConfigurationImportExecutor.java
@@ -37,8 +37,8 @@ import 
org.apache.shardingsphere.infra.database.DatabaseTypeEngine;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationExecutorTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationExecutorTest.java
index bc890c625a5..9cb3e3af822 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationExecutorTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationExecutorTest.java
@@ -20,8 +20,8 @@ package 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
 import lombok.SneakyThrows;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ExportDatabaseConfigurationStatement;
 import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import 
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportMetaDataExecutorTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportMetaDataExecutorTest.java
index 13f0dc6c51b..b02e225e2f1 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportMetaDataExecutorTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportMetaDataExecutorTest.java
@@ -27,8 +27,8 @@ import 
org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolPropertiesCreator;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
 import org.apache.shardingsphere.infra.instance.ComputeNodeInstance;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
diff --git 
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/scenario/migration/api/impl/MigrationJobAPITest.java
 
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/scenario/migration/api/impl/MigrationJobAPITest.java
index 838cc63344b..4598b363cc5 100644
--- 
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/scenario/migration/api/impl/MigrationJobAPITest.java
+++ 
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/scenario/migration/api/impl/MigrationJobAPITest.java
@@ -47,7 +47,7 @@ import 
org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
 import org.apache.shardingsphere.infra.datanode.DataNode;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
-import 
org.apache.shardingsphere.infra.datasource.pool.props.DataSourcePoolProperties;
+import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import 
org.apache.shardingsphere.migration.distsql.statement.MigrateTableStatement;

Reply via email to