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 fc01defea57 Refactor ShardingSphereProxyStandaloneContainer (#36632)
fc01defea57 is described below
commit fc01defea5785e25fed640462fd0ffb58d6ece9f
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Sep 19 19:08:04 2025 +0800
Refactor ShardingSphereProxyStandaloneContainer (#36632)
* Refactor usage of ProxyContainerConstants
* Refactor ShardingSphereProxyStandaloneContainer
* Refactor ShardingSphereProxyClusterContainer and
ShardingSphereProxyStandaloneContainer
---
.../e2e/env/container/adapter/AdapterContainerFactory.java | 4 ++--
...java => ShardingSphereMultiProxiesClusterContainer.java} | 6 +++---
.../adapter/impl/ShardingSphereProxyClusterContainer.java | 8 +++-----
.../impl/ShardingSphereProxyStandaloneContainer.java | 13 ++++++-------
4 files changed, 14 insertions(+), 17 deletions(-)
diff --git
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/AdapterContainerFactory.java
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/AdapterContainerFactory.java
index 5876acd21f3..2596e4f09c2 100644
---
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/AdapterContainerFactory.java
+++
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/AdapterContainerFactory.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.test.e2e.env.container.adapter.config.AdaptorCo
import
org.apache.shardingsphere.test.e2e.env.container.adapter.enums.AdapterMode;
import
org.apache.shardingsphere.test.e2e.env.container.adapter.enums.AdapterType;
import
org.apache.shardingsphere.test.e2e.env.container.adapter.impl.ShardingSphereJdbcEmbeddedContainer;
-import
org.apache.shardingsphere.test.e2e.env.container.adapter.impl.ShardingSphereMultiProxyClusterContainer;
+import
org.apache.shardingsphere.test.e2e.env.container.adapter.impl.ShardingSphereMultiProxiesClusterContainer;
import
org.apache.shardingsphere.test.e2e.env.container.adapter.impl.ShardingSphereProxyClusterContainer;
import
org.apache.shardingsphere.test.e2e.env.container.adapter.impl.ShardingSphereProxyEmbeddedContainer;
import
org.apache.shardingsphere.test.e2e.env.container.adapter.impl.ShardingSphereProxyStandaloneContainer;
@@ -57,7 +57,7 @@ public final class AdapterContainerFactory {
case PROXY:
return newProxyInstance(mode, databaseType, containerConfig,
envType);
case PROXY_RANDOM:
- return new
ShardingSphereMultiProxyClusterContainer(databaseType, containerConfig);
+ return new
ShardingSphereMultiProxiesClusterContainer(databaseType, containerConfig);
case JDBC:
return new
ShardingSphereJdbcEmbeddedContainer(storageContainer, new
ScenarioCommonPath(scenario).getRuleConfigurationFile(databaseType));
default:
diff --git
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereMultiProxyClusterContainer.java
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereMultiProxiesClusterContainer.java
similarity index 94%
rename from
test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereMultiProxyClusterContainer.java
rename to
test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereMultiProxiesClusterContainer.java
index f93b85d4622..d0551e0ea2d 100644
---
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereMultiProxyClusterContainer.java
+++
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereMultiProxiesClusterContainer.java
@@ -39,15 +39,15 @@ import java.util.logging.Logger;
import java.util.stream.Collectors;
/**
- * ShardingSphere proxy container for cluster mode.
+ * ShardingSphere multi-proxies cluster container.
*/
-public final class ShardingSphereMultiProxyClusterContainer implements
AdapterContainer, ComboITContainer {
+public final class ShardingSphereMultiProxiesClusterContainer implements
AdapterContainer, ComboITContainer {
private final AtomicReference<DataSource> targetDataSourceProvider = new
AtomicReference<>();
private final Collection<ShardingSphereProxyClusterContainer>
proxyClusterContainers = new LinkedList<>();
- public ShardingSphereMultiProxyClusterContainer(final DatabaseType
databaseType, final AdaptorContainerConfiguration config) {
+ public ShardingSphereMultiProxiesClusterContainer(final DatabaseType
databaseType, final AdaptorContainerConfiguration config) {
ShardingSphereProxyClusterContainer proxy1 = new
ShardingSphereProxyClusterContainer(databaseType, config);
proxy1.setAbbreviation("proxy1");
proxy1.setName("proxy1");
diff --git
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereProxyClusterContainer.java
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereProxyClusterContainer.java
index bf42bad766a..2691304a19f 100644
---
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereProxyClusterContainer.java
+++
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereProxyClusterContainer.java
@@ -40,10 +40,10 @@ import java.util.concurrent.atomic.AtomicReference;
*/
public final class ShardingSphereProxyClusterContainer extends
DockerITContainer implements AdapterContainer {
- private final DatabaseType databaseType;
-
private final AdaptorContainerConfiguration config;
+ private final DataSourceEnvironment dataSourceEnvironment;
+
private final AtomicReference<DataSource> targetDataSourceProvider = new
AtomicReference<>();
@Setter
@@ -51,8 +51,8 @@ public final class ShardingSphereProxyClusterContainer
extends DockerITContainer
public ShardingSphereProxyClusterContainer(final DatabaseType
databaseType, final AdaptorContainerConfiguration config) {
super(ProxyContainerConstants.PROXY_CONTAINER_NAME_PREFIX,
config.getAdapterContainerImage());
- this.databaseType = databaseType;
this.config = config;
+ dataSourceEnvironment =
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, databaseType);
}
@Override
@@ -66,7 +66,6 @@ public final class ShardingSphereProxyClusterContainer
extends DockerITContainer
}
addEnv("TZ", "UTC");
mapResources(config.getMountedResources());
- DataSourceEnvironment dataSourceEnvironment =
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, databaseType);
setWaitStrategy(new JdbcConnectCheckingWaitStrategy(() ->
DriverManager.getConnection(
dataSourceEnvironment.getURL(getHost(), getMappedPort(3307),
config.getProxyDataSourceName()), ProxyContainerConstants.USER,
ProxyContainerConstants.PASSWORD)));
withStartupTimeout(Duration.of(120L, ChronoUnit.SECONDS));
@@ -76,7 +75,6 @@ public final class ShardingSphereProxyClusterContainer
extends DockerITContainer
public DataSource getTargetDataSource(final String serverLists) {
DataSource dataSource = targetDataSourceProvider.get();
if (null == dataSource) {
- DataSourceEnvironment dataSourceEnvironment =
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, databaseType);
targetDataSourceProvider.set(StorageContainerUtils.generateDataSource(
dataSourceEnvironment.getURL(getHost(),
getMappedPort(3307), config.getProxyDataSourceName()),
ProxyContainerConstants.USER, ProxyContainerConstants.PASSWORD, 2));
}
diff --git
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereProxyStandaloneContainer.java
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereProxyStandaloneContainer.java
index eeaeb76ff2e..01ea463ddde 100644
---
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereProxyStandaloneContainer.java
+++
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereProxyStandaloneContainer.java
@@ -32,35 +32,34 @@ import java.sql.DriverManager;
import java.util.concurrent.atomic.AtomicReference;
/**
- * ShardingSphere proxy container.
+ * ShardingSphere proxy container for standalone mode.
*/
public final class ShardingSphereProxyStandaloneContainer extends
DockerITContainer implements AdapterContainer {
- private final DatabaseType databaseType;
-
private final AdaptorContainerConfiguration config;
+ private final DataSourceEnvironment dataSourceEnvironment;
+
private final AtomicReference<DataSource> targetDataSourceProvider = new
AtomicReference<>();
public ShardingSphereProxyStandaloneContainer(final DatabaseType
databaseType, final AdaptorContainerConfiguration config) {
super(ProxyContainerConstants.PROXY_CONTAINER_NAME_PREFIX,
config.getAdapterContainerImage());
- this.databaseType = databaseType;
this.config = config;
+ dataSourceEnvironment =
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, databaseType);
}
@Override
protected void configure() {
withExposedPorts(3307, 3308);
mapResources(config.getMountedResources());
- setWaitStrategy(new JdbcConnectCheckingWaitStrategy(() ->
DriverManager.getConnection(DatabaseTypedSPILoader.getService(DataSourceEnvironment.class,
databaseType)
- .getURL(getHost(), getMappedPort(3307),
config.getProxyDataSourceName()), ProxyContainerConstants.USER,
ProxyContainerConstants.PASSWORD)));
+ setWaitStrategy(new JdbcConnectCheckingWaitStrategy(() ->
DriverManager.getConnection(
+ dataSourceEnvironment.getURL(getHost(), getMappedPort(3307),
config.getProxyDataSourceName()), ProxyContainerConstants.USER,
ProxyContainerConstants.PASSWORD)));
}
@Override
public DataSource getTargetDataSource(final String serverLists) {
DataSource dataSource = targetDataSourceProvider.get();
if (null == dataSource) {
- DataSourceEnvironment dataSourceEnvironment =
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, databaseType);
targetDataSourceProvider.set(StorageContainerUtils.generateDataSource(
dataSourceEnvironment.getURL(getHost(),
getMappedPort(3307), config.getProxyDataSourceName()),
ProxyContainerConstants.USER, ProxyContainerConstants.PASSWORD, 2));
}