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));
-    }
 }

Reply via email to