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

panjuan 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 9b02bfd  Close containers when all test cases finished (#15493)
9b02bfd is described below

commit 9b02bfdaf51a6aee89965e9a1be7de568a1587e5
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Feb 18 22:37:14 2022 +0800

    Close containers when all test cases finished (#15493)
---
 .../test/integration/engine/BaseITCase.java        | 20 ++++++-
 .../test/integration/engine/BatchITCase.java       |  5 +-
 .../test/integration/engine/SingleITCase.java      |  5 +-
 .../engine/TotalSuitesCountCalculator.java         | 69 ++++++++++++++++++++++
 .../test/integration/engine/dal/BaseDALIT.java     |  5 +-
 .../test/integration/engine/dal/GeneralDALIT.java  | 11 +---
 .../test/integration/engine/dcl/BaseDCLIT.java     |  5 +-
 .../test/integration/engine/dcl/GeneralDCLIT.java  | 11 +---
 .../test/integration/engine/ddl/BaseDDLIT.java     |  5 +-
 .../test/integration/engine/ddl/GeneralDDLIT.java  | 11 +---
 .../integration/engine/dml/AdditionalDMLIT.java    | 11 +---
 .../test/integration/engine/dml/BaseDMLIT.java     |  5 +-
 .../test/integration/engine/dml/BatchDMLIT.java    | 11 +---
 .../test/integration/engine/dml/GeneralDMLIT.java  | 11 +---
 .../integration/engine/dql/AdditionalDQLIT.java    | 11 +---
 .../test/integration/engine/dql/BaseDQLIT.java     |  5 +-
 .../test/integration/engine/dql/GeneralDQLIT.java  | 11 +---
 .../test/integration/engine/ral/BaseRALIT.java     |  5 +-
 .../test/integration/engine/ral/GeneralRALIT.java  | 11 +---
 .../test/integration/engine/rdl/BaseRDLIT.java     |  5 +-
 .../test/integration/engine/rdl/GeneralRDLIT.java  | 11 +---
 .../test/integration/engine/rql/BaseRQLIT.java     |  5 +-
 .../test/integration/engine/rql/GeneralRQLIT.java  | 11 +---
 .../framework/container/atomic/ITContainers.java   |  5 +-
 .../compose/ComposedContainerRegistry.java         | 16 +++--
 .../compose/mode/ClusterComposedContainer.java     |  8 +--
 .../compose/mode/MemoryComposedContainer.java      |  6 +-
 27 files changed, 134 insertions(+), 161 deletions(-)

diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BaseITCase.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BaseITCase.java
index 54dddc9..6339200 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BaseITCase.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BaseITCase.java
@@ -23,9 +23,11 @@ import 
org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import 
org.apache.shardingsphere.test.integration.cases.assertion.IntegrationTestCase;
 import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainer;
+import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainerRegistry;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.runner.ShardingSphereIntegrationTestParameterized;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.runner.RunWith;
 
@@ -36,6 +38,7 @@ import java.sql.SQLException;
 import java.sql.Statement;
 import java.text.ParseException;
 import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
 
 @RunWith(ShardingSphereIntegrationTestParameterized.class)
 @Getter(AccessLevel.PROTECTED)
@@ -43,6 +46,12 @@ public abstract class BaseITCase {
     
     public static final String NOT_VERIFY_FLAG = "NOT_VERIFY";
     
+    private static final ComposedContainerRegistry COMPOSED_CONTAINER_REGISTRY 
= new ComposedContainerRegistry();
+    
+    private static final int TOTAL_SUITES_COUNT = 
TotalSuitesCountCalculator.calculate();
+    
+    private static final AtomicInteger COMPLETED_SUITES_COUNT = new 
AtomicInteger(0);
+    
     private final String scenario;
     
     private final String adapter;
@@ -59,13 +68,13 @@ public abstract class BaseITCase {
     
     private DataSource targetDataSource;
     
-    public BaseITCase(final ParameterizedArray parameterizedArray, final 
ComposedContainer composedContainer) {
+    public BaseITCase(final ParameterizedArray parameterizedArray) {
         adapter = parameterizedArray.getAdapter();
         scenario = parameterizedArray.getScenario();
         databaseType = parameterizedArray.getDatabaseType();
         sqlCommandType = parameterizedArray.getSqlCommandType();
         integrationTestCase = 
parameterizedArray.getTestCaseContext().getTestCase();
-        this.composedContainer = composedContainer;
+        this.composedContainer = 
COMPOSED_CONTAINER_REGISTRY.getComposedContainer(parameterizedArray);
     }
     
     @Before
@@ -83,6 +92,13 @@ public abstract class BaseITCase {
 //        }
     }
     
+    @AfterClass
+    public static void closeContainers() {
+        if (COMPLETED_SUITES_COUNT.incrementAndGet() == TOTAL_SUITES_COUNT) {
+            COMPOSED_CONTAINER_REGISTRY.close();
+        }
+    }
+    
     protected abstract String getSQL() throws ParseException;
     
     protected void executeUpdateForStatement(final Connection connection, 
final String sql) throws SQLException {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BatchITCase.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BatchITCase.java
index 37167db..94b7b93 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BatchITCase.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BatchITCase.java
@@ -29,7 +29,6 @@ import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSet
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import 
org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainer;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.CaseParameterizedArray;
 import org.junit.Before;
 
@@ -61,8 +60,8 @@ public abstract class BatchITCase extends BaseITCase {
     
     private DataSetEnvironmentManager dataSetEnvironmentManager;
     
-    public BatchITCase(final CaseParameterizedArray parameterizedArray, final 
ComposedContainer composedContainer) {
-        super(parameterizedArray, composedContainer);
+    public BatchITCase(final CaseParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
         this.parentPath = 
parameterizedArray.getTestCaseContext().getParentPath();
     }
     
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/SingleITCase.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/SingleITCase.java
index 765d69a..07f4ece 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/SingleITCase.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/SingleITCase.java
@@ -24,7 +24,6 @@ import 
org.apache.shardingsphere.test.integration.cases.assertion.IntegrationTes
 import org.apache.shardingsphere.test.integration.cases.dataset.DataSet;
 import org.apache.shardingsphere.test.integration.cases.dataset.DataSetLoader;
 import org.apache.shardingsphere.test.integration.cases.value.SQLValue;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainer;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import org.apache.shardingsphere.test.integration.framework.watcher.ITWatcher;
 import org.junit.Rule;
@@ -46,8 +45,8 @@ public abstract class SingleITCase extends BaseITCase {
     
     private final DataSet dataSet;
     
-    public SingleITCase(final AssertionParameterizedArray parameterizedArray, 
final ComposedContainer composedContainer) {
-        super(parameterizedArray, composedContainer);
+    public SingleITCase(final AssertionParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
         this.sqlExecuteType = parameterizedArray.getSqlExecuteType();
         this.assertion = parameterizedArray.getAssertion();
         this.dataSet = null == assertion ? null : 
DataSetLoader.load(parameterizedArray.getTestCaseContext().getParentPath(), 
getScenario(), getDatabaseType(), assertion.getExpectedDataFile());
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/TotalSuitesCountCalculator.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/TotalSuitesCountCalculator.java
new file mode 100644
index 0000000..59fda60
--- /dev/null
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/TotalSuitesCountCalculator.java
@@ -0,0 +1,69 @@
+/*
+ * 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.
+ */
+
+package org.apache.shardingsphere.test.integration.engine;
+
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+import 
org.apache.shardingsphere.test.integration.env.IntegrationTestEnvironment;
+
+/**
+ * Total test suites count calculator.
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class TotalSuitesCountCalculator {
+    
+    private static final IntegrationTestEnvironment ENV = 
IntegrationTestEnvironment.getInstance();
+    
+    private static final int GENERIC_SUITES_COUNT = 4;
+    
+    private static final int ADDITIONAL_SUITES_COUNT = 2;
+    
+    private static final int DCL_SUITES_COUNT = 1;
+    
+    private static final int DAL_SUITES_COUNT = 1;
+    
+    private static final int DISTSQL_SUITES_COUNT = 3;
+    
+    /**
+     * Calculate total test suites count.
+     * 
+     * @return total test suites count
+     */
+    public static int calculate() {
+        int result = GENERIC_SUITES_COUNT;
+        if (ENV.isRunAdditionalTestCases()) {
+            result += ADDITIONAL_SUITES_COUNT;
+        }
+        if (isRunDCL()) {
+            result += DCL_SUITES_COUNT;
+        }
+        if (isRunProxy()) {
+            result += DAL_SUITES_COUNT;
+            result += DISTSQL_SUITES_COUNT;
+        }
+        return result;
+    }
+    
+    private static boolean isRunDCL() {
+        return ENV.getRunModes().contains("Cluster");
+    }
+    
+    private static boolean isRunProxy() {
+        return ENV.getRunModes().contains("Cluster") && 
ENV.getClusterEnvironment().getAdapters().contains("proxy");
+    }
+}
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dal/BaseDALIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dal/BaseDALIT.java
index 0ba78ae..bf2930a 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dal/BaseDALIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dal/BaseDALIT.java
@@ -21,7 +21,6 @@ import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSet
 import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetaData;
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
 import org.apache.shardingsphere.test.integration.engine.SingleITCase;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainer;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 
 import java.sql.ResultSet;
@@ -39,8 +38,8 @@ import static org.junit.Assert.assertTrue;
 
 public abstract class BaseDALIT extends SingleITCase {
     
-    public BaseDALIT(final AssertionParameterizedArray parameterizedArray, 
final ComposedContainer composedContainer) {
-        super(parameterizedArray, composedContainer);
+    public BaseDALIT(final AssertionParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
     protected final void assertResultSet(final ResultSet resultSet) throws 
SQLException {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dal/GeneralDALIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dal/GeneralDALIT.java
index 6365ba5..2e0b2d4 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dal/GeneralDALIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dal/GeneralDALIT.java
@@ -19,12 +19,10 @@ package 
org.apache.shardingsphere.test.integration.engine.dal;
 
 import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.cases.SQLExecuteType;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainerRegistry;
 import 
org.apache.shardingsphere.test.integration.framework.param.array.ParameterizedArrayFactory;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelLevel;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelRuntimeStrategy;
-import org.junit.AfterClass;
 import org.junit.Test;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -39,10 +37,8 @@ import java.util.stream.Collectors;
 @ParallelRuntimeStrategy(ParallelLevel.SCENARIO)
 public final class GeneralDALIT extends BaseDALIT {
     
-    private static final ComposedContainerRegistry COMPOSED_CONTAINER_REGISTRY 
= new ComposedContainerRegistry();
-    
     public GeneralDALIT(final AssertionParameterizedArray parameterizedArray) {
-        super(parameterizedArray, 
COMPOSED_CONTAINER_REGISTRY.getComposedContainer(GeneralDALIT.class.getSimpleName(),
 parameterizedArray));
+        super(parameterizedArray);
     }
     
     @Parameters(name = "{0}")
@@ -53,11 +49,6 @@ public final class GeneralDALIT extends BaseDALIT {
                 .collect(Collectors.toList());
     }
     
-    @AfterClass
-    public static void closeContainers() {
-        COMPOSED_CONTAINER_REGISTRY.close();
-    }
-    
     @Test
     public void assertExecute() throws SQLException, ParseException {
         try (Connection connection = getTargetDataSource().getConnection()) {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dcl/BaseDCLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dcl/BaseDCLIT.java
index 0ccade3..1d3aa54 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dcl/BaseDCLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dcl/BaseDCLIT.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.test.integration.engine.dcl;
 import org.apache.shardingsphere.test.integration.engine.SingleITCase;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import 
org.apache.shardingsphere.test.integration.env.authority.AuthorityEnvironmentManager;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainer;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import org.junit.Before;
 
@@ -28,8 +27,8 @@ public abstract class BaseDCLIT extends SingleITCase {
     
     private AuthorityEnvironmentManager authorityEnvironmentManager;
     
-    public BaseDCLIT(final AssertionParameterizedArray parameterizedArray, 
final ComposedContainer composedContainer) {
-        super(parameterizedArray, composedContainer);
+    public BaseDCLIT(final AssertionParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
     @Before
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dcl/GeneralDCLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dcl/GeneralDCLIT.java
index e31e041..ced3019 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dcl/GeneralDCLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dcl/GeneralDCLIT.java
@@ -19,12 +19,10 @@ package 
org.apache.shardingsphere.test.integration.engine.dcl;
 
 import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.cases.SQLExecuteType;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainerRegistry;
 import 
org.apache.shardingsphere.test.integration.framework.param.array.ParameterizedArrayFactory;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelLevel;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelRuntimeStrategy;
-import org.junit.AfterClass;
 import org.junit.Test;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -36,10 +34,8 @@ import java.util.Collection;
 @ParallelRuntimeStrategy(ParallelLevel.SCENARIO)
 public final class GeneralDCLIT extends BaseDCLIT {
     
-    private static final ComposedContainerRegistry COMPOSED_CONTAINER_REGISTRY 
= new ComposedContainerRegistry();
-    
     public GeneralDCLIT(final AssertionParameterizedArray parameterizedArray) {
-        super(parameterizedArray, 
COMPOSED_CONTAINER_REGISTRY.getComposedContainer(GeneralDCLIT.class.getSimpleName(),
 parameterizedArray));
+        super(parameterizedArray);
     }
     
     @Parameters(name = "{0}")
@@ -47,11 +43,6 @@ public final class GeneralDCLIT extends BaseDCLIT {
         return 
ParameterizedArrayFactory.getAssertionParameterized(SQLCommandType.DCL);
     }
     
-    @AfterClass
-    public static void closeContainers() {
-        COMPOSED_CONTAINER_REGISTRY.close();
-    }
-    
     @Test
     public void assertExecuteUpdate() throws SQLException, ParseException {
         String sql = getSQL();
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/BaseDDLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/BaseDDLIT.java
index dff3558..4b4b03f 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/BaseDDLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/BaseDDLIT.java
@@ -25,7 +25,6 @@ import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSet
 import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetIndex;
 import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetaData;
 import org.apache.shardingsphere.test.integration.engine.SingleITCase;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainer;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import org.junit.Before;
 
@@ -47,8 +46,8 @@ import static org.junit.Assert.assertThat;
 
 public abstract class BaseDDLIT extends SingleITCase {
     
-    public BaseDDLIT(final AssertionParameterizedArray parameterizedArray, 
final ComposedContainer composedContainer) {
-        super(parameterizedArray, composedContainer);
+    public BaseDDLIT(final AssertionParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
     @Before
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/GeneralDDLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/GeneralDDLIT.java
index 0440fe0..f8bb5f0 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/GeneralDDLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/GeneralDDLIT.java
@@ -19,12 +19,10 @@ package 
org.apache.shardingsphere.test.integration.engine.ddl;
 
 import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.cases.SQLExecuteType;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainerRegistry;
 import 
org.apache.shardingsphere.test.integration.framework.param.array.ParameterizedArrayFactory;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelLevel;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelRuntimeStrategy;
-import org.junit.AfterClass;
 import org.junit.Test;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -40,10 +38,8 @@ import static org.junit.Assert.assertFalse;
 @ParallelRuntimeStrategy(ParallelLevel.SCENARIO)
 public final class GeneralDDLIT extends BaseDDLIT {
     
-    private static final ComposedContainerRegistry COMPOSED_CONTAINER_REGISTRY 
= new ComposedContainerRegistry();
-    
     public GeneralDDLIT(final AssertionParameterizedArray parameterizedArray) {
-        super(parameterizedArray, 
COMPOSED_CONTAINER_REGISTRY.getComposedContainer(GeneralDDLIT.class.getSimpleName(),
 parameterizedArray));
+        super(parameterizedArray);
     }
     
     @Parameters(name = "{0}")
@@ -51,11 +47,6 @@ public final class GeneralDDLIT extends BaseDDLIT {
         return 
ParameterizedArrayFactory.getAssertionParameterized(SQLCommandType.DDL);
     }
     
-    @AfterClass
-    public static void closeContainers() {
-        COMPOSED_CONTAINER_REGISTRY.close();
-    }
-    
     @Test
     public void assertExecuteUpdate() throws SQLException, ParseException {
         try (Connection connection = getTargetDataSource().getConnection()) {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/AdditionalDMLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/AdditionalDMLIT.java
index 562e9c8..3f57460 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/AdditionalDMLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/AdditionalDMLIT.java
@@ -21,12 +21,10 @@ import 
org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.cases.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.cases.value.SQLValue;
 import 
org.apache.shardingsphere.test.integration.env.IntegrationTestEnvironment;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainerRegistry;
 import 
org.apache.shardingsphere.test.integration.framework.param.array.ParameterizedArrayFactory;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelLevel;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelRuntimeStrategy;
-import org.junit.AfterClass;
 import org.junit.Test;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -43,10 +41,8 @@ import static org.junit.Assert.assertFalse;
 @ParallelRuntimeStrategy(ParallelLevel.SCENARIO)
 public final class AdditionalDMLIT extends BaseDMLIT {
     
-    private static final ComposedContainerRegistry COMPOSED_CONTAINER_REGISTRY 
= new ComposedContainerRegistry();
-    
     public AdditionalDMLIT(final AssertionParameterizedArray 
parameterizedArray) {
-        super(parameterizedArray, 
COMPOSED_CONTAINER_REGISTRY.getComposedContainer(AdditionalDMLIT.class.getSimpleName(),
 parameterizedArray));
+        super(parameterizedArray);
     }
     
     @Parameters(name = "{0}")
@@ -57,11 +53,6 @@ public final class AdditionalDMLIT extends BaseDMLIT {
         return Collections.emptyList();
     }
     
-    @AfterClass
-    public static void closeContainers() {
-        COMPOSED_CONTAINER_REGISTRY.close();
-    }
-    
     @Test
     public void executeUpdateWithAutoGeneratedKeys() throws SQLException, 
ParseException {
         // TODO fix replica_query
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BaseDMLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BaseDMLIT.java
index 8949037..c3a798d 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BaseDMLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BaseDMLIT.java
@@ -25,7 +25,6 @@ import 
org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
 import org.apache.shardingsphere.test.integration.engine.SingleITCase;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import 
org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainer;
 import 
org.apache.shardingsphere.test.integration.framework.database.DatabaseAssertionMetaData;
 import 
org.apache.shardingsphere.test.integration.framework.database.DatabaseAssertionMetaDataFactory;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
@@ -50,8 +49,8 @@ public abstract class BaseDMLIT extends SingleITCase {
     
     private DataSetEnvironmentManager dataSetEnvironmentManager;
     
-    public BaseDMLIT(final AssertionParameterizedArray parameterizedArray, 
final ComposedContainer composedContainer) {
-        super(parameterizedArray, composedContainer);
+    public BaseDMLIT(final AssertionParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
     @Before
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BatchDMLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BatchDMLIT.java
index f73b55d..dda768a 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BatchDMLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BatchDMLIT.java
@@ -21,13 +21,11 @@ import 
org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import 
org.apache.shardingsphere.test.integration.cases.assertion.IntegrationTestCaseAssertion;
 import org.apache.shardingsphere.test.integration.cases.value.SQLValue;
 import org.apache.shardingsphere.test.integration.engine.BatchITCase;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainerRegistry;
 import 
org.apache.shardingsphere.test.integration.framework.param.array.ParameterizedArrayFactory;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.CaseParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelLevel;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelRuntimeStrategy;
-import org.junit.AfterClass;
 import org.junit.Test;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -43,10 +41,8 @@ import static org.junit.Assert.assertThat;
 @ParallelRuntimeStrategy(ParallelLevel.SCENARIO)
 public final class BatchDMLIT extends BatchITCase {
     
-    private static final ComposedContainerRegistry COMPOSED_CONTAINER_REGISTRY 
= new ComposedContainerRegistry();
-    
     public BatchDMLIT(final CaseParameterizedArray parameterizedArray) {
-        super(parameterizedArray, 
COMPOSED_CONTAINER_REGISTRY.getComposedContainer(BatchDMLIT.class.getSimpleName(),
 parameterizedArray));
+        super(parameterizedArray);
     }
     
     @Parameters(name = "{0}")
@@ -54,11 +50,6 @@ public final class BatchDMLIT extends BatchITCase {
         return 
ParameterizedArrayFactory.getCaseParameterized(SQLCommandType.DML);
     }
     
-    @AfterClass
-    public static void closeContainers() {
-        COMPOSED_CONTAINER_REGISTRY.close();
-    }
-    
     @Test
     public void assertExecuteBatch() throws SQLException, ParseException {
         switch (getScenario()) {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/GeneralDMLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/GeneralDMLIT.java
index a223d14..9626343 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/GeneralDMLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/GeneralDMLIT.java
@@ -20,12 +20,10 @@ package 
org.apache.shardingsphere.test.integration.engine.dml;
 import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.cases.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.cases.value.SQLValue;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainerRegistry;
 import 
org.apache.shardingsphere.test.integration.framework.param.array.ParameterizedArrayFactory;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelLevel;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelRuntimeStrategy;
-import org.junit.AfterClass;
 import org.junit.Test;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -41,10 +39,8 @@ import static org.junit.Assert.assertFalse;
 @ParallelRuntimeStrategy(ParallelLevel.SCENARIO)
 public final class GeneralDMLIT extends BaseDMLIT {
     
-    private static final ComposedContainerRegistry COMPOSED_CONTAINER_REGISTRY 
= new ComposedContainerRegistry();
-    
     public GeneralDMLIT(final AssertionParameterizedArray parameterizedArray) {
-        super(parameterizedArray, 
COMPOSED_CONTAINER_REGISTRY.getComposedContainer(GeneralDMLIT.class.getSimpleName(),
 parameterizedArray));
+        super(parameterizedArray);
     }
     
     @Parameters(name = "{0}")
@@ -52,11 +48,6 @@ public final class GeneralDMLIT extends BaseDMLIT {
         return 
ParameterizedArrayFactory.getAssertionParameterized(SQLCommandType.DML);
     }
     
-    @AfterClass
-    public static void closeContainers() {
-        COMPOSED_CONTAINER_REGISTRY.close();
-    }
-    
     @Test
     public void assertExecuteUpdate() throws SQLException, ParseException {
         switch (getScenario()) {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/AdditionalDQLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/AdditionalDQLIT.java
index d545deb..4edaab5 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/AdditionalDQLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/AdditionalDQLIT.java
@@ -21,12 +21,10 @@ import 
org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.cases.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.cases.value.SQLValue;
 import 
org.apache.shardingsphere.test.integration.env.IntegrationTestEnvironment;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainerRegistry;
 import 
org.apache.shardingsphere.test.integration.framework.param.array.ParameterizedArrayFactory;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelLevel;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelRuntimeStrategy;
-import org.junit.AfterClass;
 import org.junit.Test;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -44,10 +42,8 @@ import static org.junit.Assert.assertTrue;
 @ParallelRuntimeStrategy(ParallelLevel.CASE)
 public final class AdditionalDQLIT extends BaseDQLIT {
     
-    private static final ComposedContainerRegistry COMPOSED_CONTAINER_REGISTRY 
= new ComposedContainerRegistry();
-    
     public AdditionalDQLIT(final AssertionParameterizedArray 
parameterizedArray) {
-        super(parameterizedArray, 
COMPOSED_CONTAINER_REGISTRY.getComposedContainer(AdditionalDQLIT.class.getSimpleName(),
 parameterizedArray));
+        super(parameterizedArray);
     }
     
     @Parameters(name = "{0}")
@@ -58,11 +54,6 @@ public final class AdditionalDQLIT extends BaseDQLIT {
         return Collections.emptyList();
     }
     
-    @AfterClass
-    public static void closeContainers() {
-        COMPOSED_CONTAINER_REGISTRY.close();
-    }
-    
     @Test
     public void assertExecuteQueryWithResultSetTypeAndResultSetConcurrency() 
throws SQLException, ParseException {
         try (Connection connection = getTargetDataSource().getConnection()) {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/BaseDQLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/BaseDQLIT.java
index d028b05..d887922 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/BaseDQLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/BaseDQLIT.java
@@ -23,7 +23,6 @@ import 
org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
 import org.apache.shardingsphere.test.integration.engine.SingleITCase;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import 
org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainer;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import org.junit.Before;
 
@@ -48,8 +47,8 @@ public abstract class BaseDQLIT extends SingleITCase {
     
     private static final Collection<String> FILLED_SUITES = new HashSet<>();
     
-    public BaseDQLIT(final AssertionParameterizedArray parameterizedArray, 
final ComposedContainer composedContainer) {
-        super(parameterizedArray, composedContainer);
+    public BaseDQLIT(final AssertionParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
     @Before
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/GeneralDQLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/GeneralDQLIT.java
index e007631..8d1b17f 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/GeneralDQLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/GeneralDQLIT.java
@@ -20,12 +20,10 @@ package 
org.apache.shardingsphere.test.integration.engine.dql;
 import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.cases.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.cases.value.SQLValue;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainerRegistry;
 import 
org.apache.shardingsphere.test.integration.framework.param.array.ParameterizedArrayFactory;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelLevel;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelRuntimeStrategy;
-import org.junit.AfterClass;
 import org.junit.Test;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -42,10 +40,8 @@ import static org.junit.Assert.assertTrue;
 @ParallelRuntimeStrategy(ParallelLevel.CASE)
 public final class GeneralDQLIT extends BaseDQLIT {
     
-    private static final ComposedContainerRegistry COMPOSED_CONTAINER_REGISTRY 
= new ComposedContainerRegistry();
-    
     public GeneralDQLIT(final AssertionParameterizedArray parameterizedArray) {
-        super(parameterizedArray, 
COMPOSED_CONTAINER_REGISTRY.getComposedContainer(GeneralDQLIT.class.getSimpleName(),
 parameterizedArray));
+        super(parameterizedArray);
     }
     
     @Parameters(name = "{0}")
@@ -53,11 +49,6 @@ public final class GeneralDQLIT extends BaseDQLIT {
         return 
ParameterizedArrayFactory.getAssertionParameterized(SQLCommandType.DQL);
     }
     
-    @AfterClass
-    public static void closeContainers() {
-        COMPOSED_CONTAINER_REGISTRY.close();
-    }
-    
     @Test
     public void assertExecuteQuery() throws SQLException, ParseException {
         try (Connection connection = getTargetDataSource().getConnection()) {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ral/BaseRALIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ral/BaseRALIT.java
index 16b7b4d..626c1f9 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ral/BaseRALIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ral/BaseRALIT.java
@@ -22,7 +22,6 @@ import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSet
 import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetaData;
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
 import org.apache.shardingsphere.test.integration.engine.SingleITCase;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainer;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import org.junit.Before;
 
@@ -40,8 +39,8 @@ import static org.junit.Assert.assertTrue;
 
 public abstract class BaseRALIT extends SingleITCase {
     
-    public BaseRALIT(final AssertionParameterizedArray parameterizedArray, 
final ComposedContainer composedContainer) {
-        super(parameterizedArray, composedContainer);
+    public BaseRALIT(final AssertionParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
     @Before
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ral/GeneralRALIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ral/GeneralRALIT.java
index 478125b..9d01171 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ral/GeneralRALIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ral/GeneralRALIT.java
@@ -19,12 +19,10 @@ package 
org.apache.shardingsphere.test.integration.engine.ral;
 
 import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.cases.SQLExecuteType;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainerRegistry;
 import 
org.apache.shardingsphere.test.integration.framework.param.array.ParameterizedArrayFactory;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelLevel;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelRuntimeStrategy;
-import org.junit.AfterClass;
 import org.junit.Test;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -39,10 +37,8 @@ import java.util.stream.Collectors;
 @ParallelRuntimeStrategy(ParallelLevel.SCENARIO)
 public final class GeneralRALIT extends BaseRALIT {
     
-    private static final ComposedContainerRegistry COMPOSED_CONTAINER_REGISTRY 
= new ComposedContainerRegistry();
-    
     public GeneralRALIT(final AssertionParameterizedArray parameterizedArray) {
-        super(parameterizedArray, 
COMPOSED_CONTAINER_REGISTRY.getComposedContainer(GeneralRALIT.class.getSimpleName(),
 parameterizedArray));
+        super(parameterizedArray);
     }
     
     @Parameters(name = "{0}")
@@ -53,11 +49,6 @@ public final class GeneralRALIT extends BaseRALIT {
                 .collect(Collectors.toList());
     }
     
-    @AfterClass
-    public static void closeContainers() {
-        COMPOSED_CONTAINER_REGISTRY.close();
-    }
-    
     @Test
     public void assertExecute() throws SQLException, ParseException {
         try (Connection connection = getTargetDataSource().getConnection()) {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rdl/BaseRDLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rdl/BaseRDLIT.java
index 9809335..76471bc 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rdl/BaseRDLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rdl/BaseRDLIT.java
@@ -22,7 +22,6 @@ import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSet
 import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetaData;
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
 import org.apache.shardingsphere.test.integration.engine.SingleITCase;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainer;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import org.junit.Before;
 
@@ -41,8 +40,8 @@ import static org.junit.Assert.assertTrue;
 
 public abstract class BaseRDLIT extends SingleITCase {
     
-    public BaseRDLIT(final AssertionParameterizedArray parameterizedArray, 
final ComposedContainer composedContainer) {
-        super(parameterizedArray, composedContainer);
+    public BaseRDLIT(final AssertionParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
     @Before
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rdl/GeneralRDLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rdl/GeneralRDLIT.java
index 6ba0978..aaeb223 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rdl/GeneralRDLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rdl/GeneralRDLIT.java
@@ -19,12 +19,10 @@ package 
org.apache.shardingsphere.test.integration.engine.rdl;
 
 import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.cases.SQLExecuteType;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainerRegistry;
 import 
org.apache.shardingsphere.test.integration.framework.param.array.ParameterizedArrayFactory;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelLevel;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelRuntimeStrategy;
-import org.junit.AfterClass;
 import org.junit.Test;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -39,10 +37,8 @@ import java.util.stream.Collectors;
 @ParallelRuntimeStrategy(ParallelLevel.SCENARIO)
 public final class GeneralRDLIT extends BaseRDLIT {
     
-    private static final ComposedContainerRegistry COMPOSED_CONTAINER_REGISTRY 
= new ComposedContainerRegistry();
-    
     public GeneralRDLIT(final AssertionParameterizedArray parameterizedArray) {
-        super(parameterizedArray, 
COMPOSED_CONTAINER_REGISTRY.getComposedContainer(GeneralRDLIT.class.getSimpleName(),
 parameterizedArray));
+        super(parameterizedArray);
     }
     
     @Parameters(name = "{0}")
@@ -53,11 +49,6 @@ public final class GeneralRDLIT extends BaseRDLIT {
                 .collect(Collectors.toList());
     }
     
-    @AfterClass
-    public static void closeContainers() {
-        COMPOSED_CONTAINER_REGISTRY.close();
-    }
-    
     @Test
     public void assertExecute() throws SQLException, ParseException {
         try (Connection connection = getTargetDataSource().getConnection()) {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rql/BaseRQLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rql/BaseRQLIT.java
index 02905e5..d7b8965 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rql/BaseRQLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rql/BaseRQLIT.java
@@ -21,7 +21,6 @@ import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSet
 import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetaData;
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
 import org.apache.shardingsphere.test.integration.engine.SingleITCase;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainer;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 
 import java.sql.ResultSet;
@@ -37,8 +36,8 @@ import static org.junit.Assert.assertTrue;
 
 public abstract class BaseRQLIT extends SingleITCase {
     
-    public BaseRQLIT(final AssertionParameterizedArray parameterizedArray, 
final ComposedContainer composedContainer) {
-        super(parameterizedArray, composedContainer);
+    public BaseRQLIT(final AssertionParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
     protected final void assertResultSet(final ResultSet resultSet) throws 
SQLException {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rql/GeneralRQLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rql/GeneralRQLIT.java
index a54342d..c156b23 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rql/GeneralRQLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/rql/GeneralRQLIT.java
@@ -19,12 +19,10 @@ package 
org.apache.shardingsphere.test.integration.engine.rql;
 
 import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.cases.SQLExecuteType;
-import 
org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainerRegistry;
 import 
org.apache.shardingsphere.test.integration.framework.param.array.ParameterizedArrayFactory;
 import 
org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelLevel;
 import 
org.apache.shardingsphere.test.integration.framework.runner.parallel.annotaion.ParallelRuntimeStrategy;
-import org.junit.AfterClass;
 import org.junit.Test;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -39,10 +37,8 @@ import java.util.stream.Collectors;
 @ParallelRuntimeStrategy(ParallelLevel.CASE)
 public final class GeneralRQLIT extends BaseRQLIT {
     
-    private static final ComposedContainerRegistry COMPOSED_CONTAINER_REGISTRY 
= new ComposedContainerRegistry();
-    
     public GeneralRQLIT(final AssertionParameterizedArray parameterizedArray) {
-        super(parameterizedArray, 
COMPOSED_CONTAINER_REGISTRY.getComposedContainer(GeneralRQLIT.class.getSimpleName(),
 parameterizedArray));
+        super(parameterizedArray);
     }
     
     @Parameters(name = "{0}")
@@ -53,11 +49,6 @@ public final class GeneralRQLIT extends BaseRQLIT {
                 .collect(Collectors.toList());
     }
     
-    @AfterClass
-    public static void closeContainers() {
-        COMPOSED_CONTAINER_REGISTRY.close();
-    }
-    
     @Test
     public void assertExecute() throws SQLException, ParseException {
         try (Connection connection = getTargetDataSource().getConnection()) {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/ITContainers.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/ITContainers.java
index f1905c3..7c17deb 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/ITContainers.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/ITContainers.java
@@ -47,20 +47,19 @@ public final class ITContainers implements Startable {
     /**
      * Register container.
      * 
-     * @param testSuiteName test suite name
      * @param container container to be registered
      * @param containerType container type
      * @param <T> type of ShardingSphere container
      * @return registered container
      */
-    public <T extends ITContainer> T registerContainer(final String 
testSuiteName, final T container, final String containerType) {
+    public <T extends ITContainer> T registerContainer(final T container, 
final String containerType) {
         if (container instanceof EmbeddedITContainer) {
             embeddedContainers.add((EmbeddedITContainer) container);
         } else {
             DockerITContainer dockerContainer = (DockerITContainer) container;
             dockerContainer.setNetwork(network);
             
dockerContainer.setNetworkAliases(Collections.singletonList(String.join(".", 
containerType.toLowerCase(), scenario, "host")));
-            String loggerName = String.join(":", testSuiteName, 
dockerContainer.getName());
+            String loggerName = String.join(":", scenario, 
dockerContainer.getName());
             dockerContainer.withLogConsumer(new 
Slf4jLogConsumer(LoggerFactory.getLogger(loggerName), true));
             dockerContainers.add(dockerContainer);
         }
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/ComposedContainerRegistry.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/ComposedContainerRegistry.java
index bae4cdd..0c9f4fc 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/ComposedContainerRegistry.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/ComposedContainerRegistry.java
@@ -35,31 +35,29 @@ public final class ComposedContainerRegistry implements 
AutoCloseable {
     /**
      * Get composed container.
      *
-     * @param testSuiteName test suite name
      * @param parameterizedArray parameterized array
      * @return composed container
      */
-    public ComposedContainer getComposedContainer(final String testSuiteName, 
final ParameterizedArray parameterizedArray) {
-        String key = generateKey(testSuiteName, parameterizedArray);
+    public ComposedContainer getComposedContainer(final ParameterizedArray 
parameterizedArray) {
+        String key = generateKey(parameterizedArray);
         if (composedContainers.containsKey(key)) {
             return composedContainers.get(key);
         }
         synchronized (composedContainers) {
             if (!composedContainers.containsKey(key)) {
-                composedContainers.put(key, 
createComposedContainer(testSuiteName, parameterizedArray));
+                composedContainers.put(key, 
createComposedContainer(parameterizedArray));
             }
             return composedContainers.get(key);
         }
     }
     
-    private String generateKey(final String testSuiteName, final 
ParameterizedArray parameterizedArray) {
-        return String.join("-", testSuiteName, 
parameterizedArray.getScenario(), parameterizedArray.getAdapter(), 
parameterizedArray.getDatabaseType().getName());
+    private String generateKey(final ParameterizedArray parameterizedArray) {
+        return String.join("-", parameterizedArray.getScenario(), 
parameterizedArray.getAdapter(), 
parameterizedArray.getDatabaseType().getName());
     }
     
-    private ComposedContainer createComposedContainer(final String 
testSuiteName, final ParameterizedArray parameterizedArray) {
+    private ComposedContainer createComposedContainer(final ParameterizedArray 
parameterizedArray) {
         // TODO fix sharding_governance
-        return "sharding_governance".equals(parameterizedArray.getScenario())
-                ? new ClusterComposedContainer(testSuiteName, 
parameterizedArray) : new MemoryComposedContainer(testSuiteName, 
parameterizedArray);
+        return "sharding_governance".equals(parameterizedArray.getScenario()) 
? new ClusterComposedContainer(parameterizedArray) : new 
MemoryComposedContainer(parameterizedArray);
     }
     
     @Override
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/ClusterComposedContainer.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/ClusterComposedContainer.java
index 83b0356..86c8644 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/ClusterComposedContainer.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/ClusterComposedContainer.java
@@ -44,13 +44,13 @@ public final class ClusterComposedContainer implements 
ComposedContainer {
     
     private final AdapterContainer adapterContainer;
     
-    public ClusterComposedContainer(final String testSuiteName, final 
ParameterizedArray parameterizedArray) {
+    public ClusterComposedContainer(final ParameterizedArray 
parameterizedArray) {
         containers = new ITContainers(parameterizedArray.getScenario());
         // TODO support other types of governance
-        governanceContainer = containers.registerContainer(testSuiteName, 
GovernanceContainerFactory.newInstance("ZooKeeper"), "zk");
-        storageContainer = containers.registerContainer(testSuiteName, 
StorageContainerFactory.newInstance(
+        governanceContainer = 
containers.registerContainer(GovernanceContainerFactory.newInstance("ZooKeeper"),
 "zk");
+        storageContainer = 
containers.registerContainer(StorageContainerFactory.newInstance(
                 parameterizedArray.getDatabaseType(), 
parameterizedArray.getScenario()), 
parameterizedArray.getDatabaseType().getName());
-        adapterContainer = containers.registerContainer(testSuiteName, 
AdapterContainerFactory.newInstance(
+        adapterContainer = 
containers.registerContainer(AdapterContainerFactory.newInstance(
                 parameterizedArray.getAdapter(), 
parameterizedArray.getDatabaseType(), storageContainer, 
parameterizedArray.getScenario()), parameterizedArray.getAdapter());
         if (adapterContainer instanceof DockerITContainer) {
             ((DockerITContainer) 
adapterContainer).dependsOn(governanceContainer, storageContainer);
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/MemoryComposedContainer.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/MemoryComposedContainer.java
index 7298c61..52a073f 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/MemoryComposedContainer.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/MemoryComposedContainer.java
@@ -40,11 +40,11 @@ public final class MemoryComposedContainer implements 
ComposedContainer {
     
     private final AdapterContainer adapterContainer;
     
-    public MemoryComposedContainer(final String testSuiteName, final 
ParameterizedArray parameterizedArray) {
+    public MemoryComposedContainer(final ParameterizedArray 
parameterizedArray) {
         containers = new ITContainers(parameterizedArray.getScenario());
-        storageContainer = containers.registerContainer(testSuiteName, 
StorageContainerFactory.newInstance(
+        storageContainer = 
containers.registerContainer(StorageContainerFactory.newInstance(
                 parameterizedArray.getDatabaseType(), 
parameterizedArray.getScenario()), 
parameterizedArray.getDatabaseType().getName());
-        adapterContainer = containers.registerContainer(testSuiteName, 
AdapterContainerFactory.newInstance(
+        adapterContainer = 
containers.registerContainer(AdapterContainerFactory.newInstance(
                 parameterizedArray.getAdapter(), 
parameterizedArray.getDatabaseType(), storageContainer, 
parameterizedArray.getScenario()), parameterizedArray.getAdapter());
         if (adapterContainer instanceof DockerITContainer) {
             ((DockerITContainer) adapterContainer).dependsOn(storageContainer);

Reply via email to