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 58d2ac2 Pull up Scaling config to AbstractBootstrapInitializer
(#11870)
58d2ac2 is described below
commit 58d2ac279b10fd3f56c12e2e9e8b05bd22e3d6bd
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Aug 18 10:20:43 2021 +0800
Pull up Scaling config to AbstractBootstrapInitializer (#11870)
---
.../impl/AbstractBootstrapInitializer.java | 34 +++++++++++++++-------
.../impl/ClusterBootstrapInitializer.java | 23 ---------------
.../impl/MemoryBootstrapInitializer.java | 7 -----
.../impl/StandaloneBootstrapInitializer.java | 7 -----
4 files changed, 23 insertions(+), 48 deletions(-)
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
index 7856ef0..1894fe8 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
@@ -26,7 +26,9 @@ import
org.apache.shardingsphere.infra.config.datasource.DataSourceParameter;
import org.apache.shardingsphere.infra.context.manager.ContextManager;
import org.apache.shardingsphere.infra.context.manager.ContextManagerBuilder;
import org.apache.shardingsphere.infra.mode.ShardingSphereMode;
+import org.apache.shardingsphere.infra.mode.config.ModeConfiguration;
import org.apache.shardingsphere.infra.persist.DistMetaDataPersistService;
+import
org.apache.shardingsphere.infra.yaml.config.swapper.mode.ModeConfigurationYamlSwapper;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
@@ -34,6 +36,8 @@ import
org.apache.shardingsphere.proxy.config.util.DataSourceParameterConverter;
import
org.apache.shardingsphere.proxy.config.yaml.swapper.YamlProxyConfigurationSwapper;
import org.apache.shardingsphere.proxy.database.DatabaseServerInfo;
import org.apache.shardingsphere.proxy.initializer.BootstrapInitializer;
+import org.apache.shardingsphere.scaling.core.api.ScalingWorker;
+import org.apache.shardingsphere.scaling.core.config.ScalingContext;
import org.apache.shardingsphere.scaling.core.config.ServerConfiguration;
import javax.sql.DataSource;
@@ -62,12 +66,13 @@ public abstract class AbstractBootstrapInitializer
implements BootstrapInitializ
@Override
public final void init(final YamlProxyConfiguration yamlConfig) throws
SQLException {
ProxyConfiguration proxyConfig = new
YamlProxyConfigurationSwapper().swap(yamlConfig);
- boolean isOverwrite = null ==
yamlConfig.getServerConfiguration().getMode() ||
yamlConfig.getServerConfiguration().getMode().isOverwrite();
+ ModeConfiguration modeConfig = null ==
yamlConfig.getServerConfiguration().getMode()
+ ? new ModeConfiguration("Memory", null, true) : new
ModeConfigurationYamlSwapper().swapToObject(yamlConfig.getServerConfiguration().getMode());
ContextManager contextManager = createContextManagerBuilder().build(
- mode, getDataSourcesMap(proxyConfig.getSchemaDataSources()),
proxyConfig.getSchemaRules(), proxyConfig.getGlobalRules(),
proxyConfig.getProps(), isOverwrite);
+ mode, getDataSourcesMap(proxyConfig.getSchemaDataSources()),
proxyConfig.getSchemaRules(), proxyConfig.getGlobalRules(),
proxyConfig.getProps(), modeConfig.isOverwrite());
ProxyContext.getInstance().init(contextManager);
setDatabaseServerInfo();
- initScalingInternal(yamlConfig);
+ initScaling(yamlConfig, modeConfig);
}
protected abstract ContextManagerBuilder createContextManagerBuilder();
@@ -112,7 +117,21 @@ public abstract class AbstractBootstrapInitializer
implements BootstrapInitializ
return Optional.empty();
}
- protected final Optional<ServerConfiguration>
getScalingConfiguration(final YamlProxyConfiguration yamlConfig) {
+ private void initScaling(final YamlProxyConfiguration yamlConfig, final
ModeConfiguration modeConfig) {
+ Optional<ServerConfiguration> scalingConfig =
findScalingConfiguration(yamlConfig);
+ if (!scalingConfig.isPresent()) {
+ return;
+ }
+ if ("Cluster".equals(modeConfig.getType())) {
+ scalingConfig.get().setModeConfiguration(modeConfig);
+ ScalingContext.getInstance().init(scalingConfig.get());
+ ScalingWorker.init();
+ } else {
+ ScalingContext.getInstance().init(scalingConfig.get());
+ }
+ }
+
+ private Optional<ServerConfiguration> findScalingConfiguration(final
YamlProxyConfiguration yamlConfig) {
if (null == yamlConfig.getServerConfiguration().getScaling()) {
return Optional.empty();
}
@@ -121,11 +140,4 @@ public abstract class AbstractBootstrapInitializer
implements BootstrapInitializ
result.setWorkerThread(yamlConfig.getServerConfiguration().getScaling().getWorkerThread());
return Optional.of(result);
}
-
- private void initScalingInternal(final YamlProxyConfiguration yamlConfig) {
- log.debug("Init scaling");
- initScaling(yamlConfig);
- }
-
- protected abstract void initScaling(YamlProxyConfiguration yamlConfig);
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/ClusterBootstrapInitializer.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/ClusterBootstrapInitializer.java
index 5b81806..b02b035 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/ClusterBootstrapInitializer.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/ClusterBootstrapInitializer.java
@@ -20,14 +20,6 @@ package org.apache.shardingsphere.proxy.initializer.impl;
import
org.apache.shardingsphere.governance.context.ClusterContextManagerBuilder;
import org.apache.shardingsphere.infra.context.manager.ContextManagerBuilder;
import org.apache.shardingsphere.infra.mode.ShardingSphereMode;
-import
org.apache.shardingsphere.infra.yaml.config.pojo.mode.YamlModeConfiguration;
-import
org.apache.shardingsphere.infra.yaml.config.swapper.mode.ModeConfigurationYamlSwapper;
-import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
-import org.apache.shardingsphere.scaling.core.api.ScalingWorker;
-import org.apache.shardingsphere.scaling.core.config.ScalingContext;
-import org.apache.shardingsphere.scaling.core.config.ServerConfiguration;
-
-import java.util.Optional;
/**
* Cluster bootstrap initializer.
@@ -42,19 +34,4 @@ public final class ClusterBootstrapInitializer extends
AbstractBootstrapInitiali
protected ContextManagerBuilder createContextManagerBuilder() {
return new ClusterContextManagerBuilder();
}
-
- @Override
- protected void initScaling(final YamlProxyConfiguration yamlConfig) {
- Optional<ServerConfiguration> scalingConfig =
getScalingConfiguration(yamlConfig);
- if (!scalingConfig.isPresent()) {
- return;
- }
- scalingConfig.ifPresent(optional ->
initScalingDetails(yamlConfig.getServerConfiguration().getMode(), optional));
- }
-
- private void initScalingDetails(final YamlModeConfiguration
yamlModeConfig, final ServerConfiguration scalingConfig) {
- scalingConfig.setModeConfiguration(new
ModeConfigurationYamlSwapper().swapToObject(yamlModeConfig));
- ScalingContext.getInstance().init(scalingConfig);
- ScalingWorker.init();
- }
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/MemoryBootstrapInitializer.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/MemoryBootstrapInitializer.java
index de08591..268c8c3 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/MemoryBootstrapInitializer.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/MemoryBootstrapInitializer.java
@@ -20,8 +20,6 @@ package org.apache.shardingsphere.proxy.initializer.impl;
import org.apache.shardingsphere.infra.context.manager.ContextManagerBuilder;
import
org.apache.shardingsphere.infra.context.manager.impl.MemoryContextManagerBuilder;
import org.apache.shardingsphere.infra.mode.ShardingSphereMode;
-import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
-import org.apache.shardingsphere.scaling.core.config.ScalingContext;
/**
* Memory bootstrap initializer.
@@ -36,9 +34,4 @@ public final class MemoryBootstrapInitializer extends
AbstractBootstrapInitializ
protected ContextManagerBuilder createContextManagerBuilder() {
return new MemoryContextManagerBuilder();
}
-
- @Override
- protected void initScaling(final YamlProxyConfiguration yamlConfig) {
- getScalingConfiguration(yamlConfig).ifPresent(optional ->
ScalingContext.getInstance().init(optional));
- }
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/StandaloneBootstrapInitializer.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/StandaloneBootstrapInitializer.java
index be12376..ea533d7 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/StandaloneBootstrapInitializer.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/StandaloneBootstrapInitializer.java
@@ -20,8 +20,6 @@ package org.apache.shardingsphere.proxy.initializer.impl;
import org.apache.shardingsphere.infra.context.manager.ContextManagerBuilder;
import
org.apache.shardingsphere.infra.context.manager.impl.StandaloneContextManagerBuilder;
import org.apache.shardingsphere.infra.mode.ShardingSphereMode;
-import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
-import org.apache.shardingsphere.scaling.core.config.ScalingContext;
/**
* Standalone bootstrap initializer.
@@ -36,9 +34,4 @@ public final class StandaloneBootstrapInitializer extends
AbstractBootstrapIniti
protected ContextManagerBuilder createContextManagerBuilder() {
return new StandaloneContextManagerBuilder();
}
-
- @Override
- protected void initScaling(final YamlProxyConfiguration yamlConfig) {
- getScalingConfiguration(yamlConfig).ifPresent(optional ->
ScalingContext.getInstance().init(optional));
- }
}