This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 d33818c1bf7 Refactor : add container id for further refactor to
support launching multiple proxy container(#20404) (#20420)
d33818c1bf7 is described below
commit d33818c1bf75b802a4a9ed1564fa63a161111020
Author: 孙念君 Nianjun Sun <[email protected]>
AuthorDate: Wed Aug 24 13:50:27 2022 +0800
Refactor : add container id for further refactor to support launching
multiple proxy container(#20404) (#20420)
* Refactor : add container id for further refactor to support launching
multiple proxy container(#20404)
* Add : add final descriptor for class ProxyContainerUtil
---
.../config/AdaptorContainerConfiguration.java | 3 +++
.../impl/ShardingSphereProxyClusterContainer.java | 4 ++--
.../ShardingSphereProxyStandaloneContainer.java | 4 ++--
.../atomic/constants/ProxyContainerConstants.java | 6 ++++++
.../ProxyContainerUtil.java} | 21 ++++++++++++++-------
5 files changed, 27 insertions(+), 11 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/config/AdaptorContainerConfiguration.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/adapter/config/AdaptorContainerConfiguration.java
index b83c492c82b..d2839aded09 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/adapter/config/AdaptorContainerConfiguration.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/adapter/config/AdaptorContainerConfiguration.java
@@ -19,6 +19,7 @@ package
org.apache.shardingsphere.test.integration.env.container.atomic.adapter.
import lombok.Getter;
import lombok.RequiredArgsConstructor;
+import
org.apache.shardingsphere.test.integration.env.container.atomic.util.ProxyContainerUtil;
import java.util.Map;
@@ -32,4 +33,6 @@ public final class AdaptorContainerConfiguration {
private final String proxyDataSourceName;
private final Map<String, String> mountedResources;
+
+ private final int containerId = ProxyContainerUtil.generateContainerId();
}
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 d1b5ed4ac2d..423cbf26c6c 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
@@ -46,7 +46,7 @@ public final class ShardingSphereProxyClusterContainer
extends DockerITContainer
private final AtomicReference<DataSource> targetDataSourceProvider = new
AtomicReference<>();
public ShardingSphereProxyClusterContainer(final DatabaseType
databaseType, final AdaptorContainerConfiguration config) {
- super("ShardingSphere-Proxy", "apache/shardingsphere-proxy-test");
+ super(ProxyContainerConstants.PROXY_CONTAINER_NAME_PREFIX,
ProxyContainerConstants.PROXY_CONTAINER_IMAGE);
this.databaseType = databaseType;
this.config = config;
}
@@ -97,6 +97,6 @@ public final class ShardingSphereProxyClusterContainer
extends DockerITContainer
@Override
public String getAbbreviation() {
- return "proxy";
+ 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 31db855f11e..72f5a99eae2 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
@@ -48,7 +48,7 @@ public final class ShardingSphereProxyStandaloneContainer
extends DockerITContai
private final AtomicReference<DataSource> targetDataSourceProvider = new
AtomicReference<>();
public ShardingSphereProxyStandaloneContainer(final DatabaseType
databaseType, final AdaptorContainerConfiguration config) {
- super("ShardingSphere-Proxy", "apache/shardingsphere-proxy-test");
+ super(ProxyContainerConstants.PROXY_CONTAINER_NAME_PREFIX,
ProxyContainerConstants.PROXY_CONTAINER_IMAGE);
this.databaseType = databaseType;
this.config = config;
}
@@ -99,6 +99,6 @@ public final class ShardingSphereProxyStandaloneContainer
extends DockerITContai
@Override
public String getAbbreviation() {
- return "proxy";
+ 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/constants/ProxyContainerConstants.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/constants/ProxyContainerConstants.java
index d8ec478e691..45b94c17a25 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/constants/ProxyContainerConstants.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/constants/ProxyContainerConstants.java
@@ -31,4 +31,10 @@ public class ProxyContainerConstants {
public static final String PASSWORD = "Proxy@123";
public static final String AGENT_HOME_IN_CONTAINER =
"/usr/local/shardingsphere-agent";
+
+ public static final String PROXY_CONTAINER_NAME_PREFIX =
"ShardingSphere-Proxy";
+
+ public static final String PROXY_CONTAINER_IMAGE =
"apache/shardingsphere-proxy-test";
+
+ public static final String PROXY_CONTAINER_ABBREVIATION = "proxy";
}
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/constants/ProxyContainerConstants.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/util/ProxyContainerUtil.java
similarity index 69%
copy from
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/constants/ProxyContainerConstants.java
copy to
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/util/ProxyContainerUtil.java
index d8ec478e691..e8b516ad021 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/constants/ProxyContainerConstants.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/util/ProxyContainerUtil.java
@@ -15,20 +15,27 @@
* limitations under the License.
*/
-package
org.apache.shardingsphere.test.integration.env.container.atomic.constants;
+package org.apache.shardingsphere.test.integration.env.container.atomic.util;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
+import java.util.concurrent.atomic.AtomicInteger;
+
/**
- * Proxy container constants.
+ * Proxy container util.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public class ProxyContainerConstants {
-
- public static final String USERNAME = "proxy";
+public final class ProxyContainerUtil {
- public static final String PASSWORD = "Proxy@123";
+ private static final AtomicInteger ATOMIC_PROXY_CONTAINER_ID = new
AtomicInteger(1);
- public static final String AGENT_HOME_IN_CONTAINER =
"/usr/local/shardingsphere-agent";
+ /**
+ * Generate a unique proxy container id.
+ *
+ * @return unique proxy container id
+ */
+ public static int generateContainerId() {
+ return ATOMIC_PROXY_CONTAINER_ID.getAndIncrement();
+ }
}