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

duanzhengqiang 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 48e91f64eb6 Refactor : extract and refactor the datasource creation in 
IT module (#20825)
48e91f64eb6 is described below

commit 48e91f64eb6be03e038af384a6f56f16e853e8e9
Author: 孙念君 Nianjun Sun <[email protected]>
AuthorDate: Wed Sep 7 07:57:00 2022 +0800

    Refactor : extract and refactor the datasource creation in IT module 
(#20825)
    
    * Refactor : extract and refactor the datasource creation in IT module
    
    * Merge : merge the change from other PR.
---
 .../impl/ShardingSphereProxyClusterContainer.java  | 16 +++----------
 .../ShardingSphereProxyStandaloneContainer.java    | 16 +++----------
 .../atomic/storage/DockerStorageContainer.java     | 13 +++-------
 .../atomic/storage/EmbeddedStorageContainer.java   | 19 ++++-----------
 .../atomic/storage/impl/OpenGaussContainer.java    |  5 ++--
 .../container/atomic/util/DatabaseTypeUtil.java    | 28 +++++++++++-----------
 .../atomic/util/StorageContainerUtil.java          | 15 +++++++++++-
 .../data/pipeline/cases/base/BaseITCase.java       | 17 +++----------
 .../transaction/engine/base/BaseITCase.java        | 14 +++--------
 9 files changed, 50 insertions(+), 93 deletions(-)

diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/adapter/impl/ShardingSphereProxyClusterContainer.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/adapter/impl/ShardingSphereProxyClusterContainer.java
index d669455b864..340db81849d 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/adapter/impl/ShardingSphereProxyClusterContainer.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/adapter/impl/ShardingSphereProxyClusterContainer.java
@@ -17,12 +17,12 @@
 
 package 
org.apache.shardingsphere.test.integration.env.container.atomic.adapter.impl;
 
-import com.zaxxer.hikari.HikariDataSource;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.DockerITContainer;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.adapter.AdapterContainer;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.adapter.config.AdaptorContainerConfiguration;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.constants.ProxyContainerConstants;
+import 
org.apache.shardingsphere.test.integration.env.container.atomic.util.StorageContainerUtil;
 import 
org.apache.shardingsphere.test.integration.env.container.wait.JdbcConnectionWaitStrategy;
 import 
org.apache.shardingsphere.test.integration.env.runtime.DataSourceEnvironment;
 import org.testcontainers.containers.BindMode;
@@ -79,22 +79,12 @@ public final class ShardingSphereProxyClusterContainer 
extends DockerITContainer
     public DataSource getTargetDataSource(final String serverLists) {
         DataSource dataSource = targetDataSourceProvider.get();
         if (Objects.isNull(dataSource)) {
-            targetDataSourceProvider.set(createProxyDataSource());
+            
targetDataSourceProvider.set(StorageContainerUtil.generateDataSource(DataSourceEnvironment.getURL(databaseType,
 getHost(), getMappedPort(3307), config.getProxyDataSourceName()),
+                    ProxyContainerConstants.USERNAME, 
ProxyContainerConstants.PASSWORD));
         }
         return targetDataSourceProvider.get();
     }
     
-    private DataSource createProxyDataSource() {
-        HikariDataSource result = new HikariDataSource();
-        
result.setDriverClassName(DataSourceEnvironment.getDriverClassName(databaseType));
-        result.setJdbcUrl(DataSourceEnvironment.getURL(databaseType, 
getHost(), getMappedPort(3307), config.getProxyDataSourceName()));
-        result.setUsername(ProxyContainerConstants.USERNAME);
-        result.setPassword(ProxyContainerConstants.PASSWORD);
-        result.setMaximumPoolSize(2);
-        result.setTransactionIsolation("TRANSACTION_READ_COMMITTED");
-        return result;
-    }
-    
     @Override
     public String getAbbreviation() {
         return ProxyContainerConstants.PROXY_CONTAINER_ABBREVIATION;
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/adapter/impl/ShardingSphereProxyStandaloneContainer.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/adapter/impl/ShardingSphereProxyStandaloneContainer.java
index a9474b79d7e..2fa5aa255f3 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/adapter/impl/ShardingSphereProxyStandaloneContainer.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/adapter/impl/ShardingSphereProxyStandaloneContainer.java
@@ -17,13 +17,13 @@
 
 package 
org.apache.shardingsphere.test.integration.env.container.atomic.adapter.impl;
 
-import com.zaxxer.hikari.HikariDataSource;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.DockerITContainer;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.adapter.AdapterContainer;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.adapter.config.AdaptorContainerConfiguration;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.constants.ProxyContainerConstants;
+import 
org.apache.shardingsphere.test.integration.env.container.atomic.util.StorageContainerUtil;
 import 
org.apache.shardingsphere.test.integration.env.container.wait.JdbcConnectionWaitStrategy;
 import 
org.apache.shardingsphere.test.integration.env.runtime.DataSourceEnvironment;
 import org.testcontainers.containers.BindMode;
@@ -81,22 +81,12 @@ public final class ShardingSphereProxyStandaloneContainer 
extends DockerITContai
     public DataSource getTargetDataSource(final String serverLists) {
         DataSource dataSource = targetDataSourceProvider.get();
         if (Objects.isNull(dataSource)) {
-            targetDataSourceProvider.set(createProxyDataSource());
+            
targetDataSourceProvider.set(StorageContainerUtil.generateDataSource(DataSourceEnvironment.getURL(databaseType,
 getHost(), getMappedPort(3307), config.getProxyDataSourceName()),
+                    ProxyContainerConstants.USERNAME, 
ProxyContainerConstants.PASSWORD));
         }
         return targetDataSourceProvider.get();
     }
     
-    private DataSource createProxyDataSource() {
-        HikariDataSource result = new HikariDataSource();
-        
result.setDriverClassName(DataSourceEnvironment.getDriverClassName(databaseType));
-        result.setJdbcUrl(DataSourceEnvironment.getURL(databaseType, 
getHost(), getMappedPort(3307), config.getProxyDataSourceName()));
-        result.setUsername(ProxyContainerConstants.USERNAME);
-        result.setPassword(ProxyContainerConstants.PASSWORD);
-        result.setMaximumPoolSize(2);
-        result.setTransactionIsolation("TRANSACTION_READ_COMMITTED");
-        return result;
-    }
-    
     @Override
     public String getAbbreviation() {
         return ProxyContainerConstants.PROXY_CONTAINER_ABBREVIATION;
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/DockerStorageContainer.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/DockerStorageContainer.java
index cfd7d5b2f76..587477fe52c 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/DockerStorageContainer.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/DockerStorageContainer.java
@@ -18,7 +18,6 @@
 package 
org.apache.shardingsphere.test.integration.env.container.atomic.storage;
 
 import com.google.common.base.Strings;
-import com.zaxxer.hikari.HikariDataSource;
 import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.SneakyThrows;
@@ -27,6 +26,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.DockerITContainer;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.constants.StorageContainerConstants;
+import 
org.apache.shardingsphere.test.integration.env.container.atomic.util.StorageContainerUtil;
 import 
org.apache.shardingsphere.test.integration.env.container.wait.JdbcConnectionWaitStrategy;
 import 
org.apache.shardingsphere.test.integration.env.runtime.DataSourceEnvironment;
 import 
org.apache.shardingsphere.test.integration.env.runtime.scenario.database.DatabaseEnvironmentManager;
@@ -115,14 +115,7 @@ public abstract class DockerStorageContainer extends 
DockerITContainer implement
      * @return access data source
      */
     public DataSource createAccessDataSource(final String dataSourceName) {
-        HikariDataSource result = new HikariDataSource();
-        
result.setDriverClassName(DataSourceEnvironment.getDriverClassName(databaseType));
-        result.setJdbcUrl(getJdbcUrl(dataSourceName));
-        result.setUsername(getUsername());
-        result.setPassword(getPassword());
-        result.setMaximumPoolSize(4);
-        result.setTransactionIsolation("TRANSACTION_READ_COMMITTED");
-        return result;
+        return 
StorageContainerUtil.generateDataSource(getJdbcUrl(dataSourceName), 
getUsername(), getPassword(), 4);
     }
     
     /**
@@ -132,7 +125,7 @@ public abstract class DockerStorageContainer extends 
DockerITContainer implement
      * @return JDBC URL
      */
     public String getJdbcUrl(final String dataSourceName) {
-        return DataSourceEnvironment.getURL(databaseType, getHost(), 
getMappedPort(getExposedPort()), dataSourceName);
+        return DataSourceEnvironment.getURL(databaseType, getHost(), 
getMappedPort(), dataSourceName);
     }
     
     protected abstract Optional<String> getDefaultDatabaseName();
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/EmbeddedStorageContainer.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/EmbeddedStorageContainer.java
index a66943d4ef3..ca59d43ea75 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/EmbeddedStorageContainer.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/EmbeddedStorageContainer.java
@@ -17,11 +17,11 @@
 
 package 
org.apache.shardingsphere.test.integration.env.container.atomic.storage;
 
-import com.zaxxer.hikari.HikariDataSource;
 import lombok.Getter;
 import lombok.SneakyThrows;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.EmbeddedITContainer;
+import 
org.apache.shardingsphere.test.integration.env.container.atomic.util.StorageContainerUtil;
 import 
org.apache.shardingsphere.test.integration.env.runtime.DataSourceEnvironment;
 import 
org.apache.shardingsphere.test.integration.env.runtime.scenario.database.DatabaseEnvironmentManager;
 
@@ -57,7 +57,8 @@ public abstract class EmbeddedStorageContainer implements 
EmbeddedITContainer, S
     private Map<String, DataSource> createActualDataSourceMap() {
         Collection<String> databaseNames = 
DatabaseEnvironmentManager.getDatabaseNames(scenario);
         Map<String, DataSource> result = new 
LinkedHashMap<>(databaseNames.size(), 1);
-        databaseNames.forEach(each -> result.put(each, 
createDataSource(each)));
+        databaseNames.forEach(each -> result.put(each, 
StorageContainerUtil.generateDataSource(DataSourceEnvironment.getURL(databaseType,
 null, 0, scenario + each),
+                "root", "Root@123")));
         return result;
     }
     
@@ -65,18 +66,8 @@ public abstract class EmbeddedStorageContainer implements 
EmbeddedITContainer, S
     private Map<String, DataSource> createExpectedDataSourceMap() {
         Collection<String> databaseNames = 
DatabaseEnvironmentManager.getExpectedDatabaseNames(scenario);
         Map<String, DataSource> result = new 
LinkedHashMap<>(databaseNames.size(), 1);
-        databaseNames.forEach(each -> result.put(each, 
createDataSource(each)));
-        return result;
-    }
-    
-    private DataSource createDataSource(final String dataSourceName) {
-        HikariDataSource result = new HikariDataSource();
-        
result.setDriverClassName(DataSourceEnvironment.getDriverClassName(databaseType));
-        result.setJdbcUrl(DataSourceEnvironment.getURL(databaseType, null, 0, 
scenario + dataSourceName));
-        result.setUsername("root");
-        result.setPassword("Root@123");
-        result.setMaximumPoolSize(4);
-        result.setTransactionIsolation("TRANSACTION_READ_COMMITTED");
+        databaseNames.forEach(each -> result.put(each, 
StorageContainerUtil.generateDataSource(DataSourceEnvironment.getURL(databaseType,
 null, 0, scenario + each),
+                "root", "Root@123")));
         return result;
     }
     
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/impl/OpenGaussContainer.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/impl/OpenGaussContainer.java
index ad72020d496..8b8f553e2c7 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/impl/OpenGaussContainer.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/impl/OpenGaussContainer.java
@@ -55,7 +55,7 @@ public final class OpenGaussContainer extends 
DockerStorageContainer {
     
     @Override
     public int getMappedPort() {
-        return 
this.getMappedPort(StorageContainerConstants.OPENGAUSS_EXPOSED_PORT);
+        return getMappedPort(StorageContainerConstants.OPENGAUSS_EXPOSED_PORT);
     }
     
     @Override
@@ -65,7 +65,6 @@ public final class OpenGaussContainer extends 
DockerStorageContainer {
     
     @Override
     public String getJdbcUrl(final String dataSourceName) {
-        return DataSourceEnvironment.getURL(getDatabaseType(), getHost(),
-                getMappedPort(getExposedPort()), 
StringUtils.isNotEmpty(dataSourceName) ? dataSourceName : 
StorageContainerConstants.USERNAME);
+        return DataSourceEnvironment.getURL(getDatabaseType(), getHost(), 
getMappedPort(), StringUtils.isNotEmpty(dataSourceName) ? dataSourceName : 
StorageContainerConstants.USERNAME);
     }
 }
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/util/DatabaseTypeUtil.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/util/DatabaseTypeUtil.java
index 083a87be310..682a13f3ac5 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/util/DatabaseTypeUtil.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/util/DatabaseTypeUtil.java
@@ -38,20 +38,6 @@ public final class DatabaseTypeUtil {
         return databaseType instanceof MySQLDatabaseType;
     }
     
-    /**
-     * Get docker image major version.
-     *
-     * @param dockerImageName dockerImageName
-     * @return major version
-     */
-    public static String parseMajorVersion(final String dockerImageName) {
-        if (StringUtils.isBlank(dockerImageName)) {
-            return "";
-        }
-        String version = dockerImageName.split(":")[1];
-        return version.split("\\.")[0];
-    }
-    
     /**
      * Check PostgreSQL database type.
      *
@@ -71,4 +57,18 @@ public final class DatabaseTypeUtil {
     public static boolean isOpenGauss(final DatabaseType databaseType) {
         return databaseType instanceof OpenGaussDatabaseType;
     }
+    
+    /**
+     * Get docker image major version.
+     *
+     * @param dockerImageName dockerImageName
+     * @return major version
+     */
+    public static String parseMajorVersion(final String dockerImageName) {
+        if (StringUtils.isBlank(dockerImageName)) {
+            return "";
+        }
+        String version = dockerImageName.split(":")[1];
+        return version.split("\\.")[0];
+    }
 }
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/util/StorageContainerUtil.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/util/StorageContainerUtil.java
index ce79def9573..e86e494165b 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/util/StorageContainerUtil.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/util/StorageContainerUtil.java
@@ -41,13 +41,26 @@ public final class StorageContainerUtil {
      * @return data source
      */
     public static DataSource generateDataSource(final String jdbcUrl, final 
String username, final String password) {
+        return generateDataSource(jdbcUrl, username, password, 2);
+    }
+    
+    /**
+     * Generate datasource. 
+     *
+     * @param jdbcUrl JDBC URL for generating datasource
+     * @param username username
+     * @param password password
+     * @param maximumPoolSize maximum pool size
+     * @return data source
+     */
+    public static DataSource generateDataSource(final String jdbcUrl, final 
String username, final String password, final int maximumPoolSize) {
         DatabaseType databaseType = 
DatabaseTypeEngine.getDatabaseType(jdbcUrl);
         HikariDataSource result = new HikariDataSource();
         
result.setDriverClassName(DataSourceEnvironment.getDriverClassName(databaseType));
         result.setJdbcUrl(jdbcUrl);
         result.setUsername(username);
         result.setPassword(password);
-        result.setMaximumPoolSize(2);
+        result.setMaximumPoolSize(maximumPoolSize);
         result.setTransactionIsolation("TRANSACTION_READ_COMMITTED");
         return result;
     }
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseITCase.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseITCase.java
index 9657400c34e..40cd2c1e3cc 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseITCase.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseITCase.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.integration.data.pipeline.cases.base;
 
-import com.zaxxer.hikari.HikariDataSource;
 import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.Setter;
@@ -36,6 +35,7 @@ import 
org.apache.shardingsphere.integration.data.pipeline.framework.watcher.Sca
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.constants.ProxyContainerConstants;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.storage.DockerStorageContainer;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.util.DatabaseTypeUtil;
+import 
org.apache.shardingsphere.test.integration.env.container.atomic.util.StorageContainerUtil;
 import 
org.apache.shardingsphere.test.integration.env.runtime.DataSourceEnvironment;
 import org.junit.Rule;
 import org.opengauss.util.PSQLException;
@@ -152,19 +152,8 @@ public abstract class BaseITCase {
         } catch (final SQLException ex) {
             throw new IllegalStateException(ex);
         }
-        sourceDataSource = getDataSource(getActualJdbcUrlTemplate(DS_0, 
false), username, password);
-        proxyDataSource = 
getDataSource(containerComposer.getProxyJdbcUrl(PROXY_DATABASE), 
ProxyContainerConstants.USERNAME, ProxyContainerConstants.PASSWORD);
-    }
-    
-    private DataSource getDataSource(final String jdbcUrl, final String 
username, final String password) {
-        HikariDataSource result = new HikariDataSource();
-        
result.setDriverClassName(DataSourceEnvironment.getDriverClassName(getDatabaseType()));
-        result.setJdbcUrl(jdbcUrl);
-        result.setUsername(username);
-        result.setPassword(password);
-        result.setMaximumPoolSize(2);
-        result.setTransactionIsolation("TRANSACTION_READ_COMMITTED");
-        return result;
+        sourceDataSource = 
StorageContainerUtil.generateDataSource(getActualJdbcUrlTemplate(DS_0, false), 
username, password);
+        proxyDataSource = 
StorageContainerUtil.generateDataSource(containerComposer.getProxyJdbcUrl(PROXY_DATABASE),
 ProxyContainerConstants.USERNAME, ProxyContainerConstants.PASSWORD);
     }
     
     protected void addResource(final String distSQL) throws SQLException {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-transaction/src/test/java/org/apache/shardingsphere/integration/transaction/engine/base/BaseITCase.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-transaction/src/test/java/org/apache/shardingsphere/integration/transaction/engine/base/BaseITCase.java
index 885232a7139..71f21f8a48c 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-transaction/src/test/java/org/apache/shardingsphere/integration/transaction/engine/base/BaseITCase.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-transaction/src/test/java/org/apache/shardingsphere/integration/transaction/engine/base/BaseITCase.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.integration.transaction.engine.base;
 
-import com.zaxxer.hikari.HikariDataSource;
 import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.SneakyThrows;
@@ -43,6 +42,7 @@ import 
org.apache.shardingsphere.integration.transaction.framework.param.Transac
 import 
org.apache.shardingsphere.integration.transaction.util.TestCaseClassScanner;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.storage.DockerStorageContainer;
 import 
org.apache.shardingsphere.test.integration.env.container.atomic.util.DatabaseTypeUtil;
+import 
org.apache.shardingsphere.test.integration.env.container.atomic.util.StorageContainerUtil;
 import 
org.apache.shardingsphere.test.integration.env.runtime.DataSourceEnvironment;
 import org.apache.shardingsphere.transaction.core.TransactionType;
 
@@ -137,16 +137,8 @@ public abstract class BaseITCase {
     }
     
     private DataSource createDataSource(final DockerStorageContainer 
databaseContainer, final String dataSourceName) {
-        HikariDataSource result = new HikariDataSource();
-        
result.setDriverClassName(DataSourceEnvironment.getDriverClassName(databaseType));
-        result.setJdbcUrl(DataSourceEnvironment.getURL(databaseType, 
databaseContainer.getHost(), 
databaseContainer.getMappedPort(databaseContainer.getExposedPort()), 
dataSourceName));
-        result.setUsername(databaseContainer.getUsername());
-        result.setPassword(databaseContainer.getPassword());
-        result.setMaximumPoolSize(50);
-        result.setIdleTimeout(60000);
-        result.setMaxLifetime(1800000);
-        result.setTransactionIsolation("TRANSACTION_READ_COMMITTED");
-        return result;
+        return 
StorageContainerUtil.generateDataSource(DataSourceEnvironment.getURL(databaseType,
 databaseContainer.getHost(), databaseContainer.getMappedPort(), 
dataSourceName),
+                databaseContainer.getUsername(), 
databaseContainer.getPassword(), 50);
     }
     
     protected boolean isProxyAdapter(final TransactionParameterized 
parameterized) {

Reply via email to