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 8a28b17  Refactor init (#12178)
8a28b17 is described below

commit 8a28b17395cd5d3cd3dba6cf9ccdb892ff11591e
Author: Dachuan J <[email protected]>
AuthorDate: Thu Sep 2 23:02:17 2021 +0800

    Refactor init (#12178)
---
 .../proxy/initializer/BootstrapInitializer.java            | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
index 17ad8ea..75090e2 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
@@ -60,16 +60,22 @@ public final class BootstrapInitializer {
      * @throws SQLException SQL exception
      */
     public void init(final YamlProxyConfiguration yamlConfig) throws 
SQLException {
-        ProxyConfiguration proxyConfig = new 
YamlProxyConfigurationSwapper().swap(yamlConfig);
         ModeConfiguration modeConfig = null == 
yamlConfig.getServerConfiguration().getMode()
                 ? null : new 
ModeConfigurationYamlSwapper().swapToObject(yamlConfig.getServerConfiguration().getMode());
-        ContextManager contextManager = 
ContextManagerBuilderFactory.newInstance(modeConfig).build(modeConfig, 
getDataSourcesMap(proxyConfig.getSchemaDataSources()), 
-                proxyConfig.getSchemaRules(), proxyConfig.getGlobalRules(), 
proxyConfig.getProps(), null == modeConfig || modeConfig.isOverwrite());
-        ProxyContext.getInstance().init(contextManager);
+        initContext(yamlConfig, modeConfig);
         setDatabaseServerInfo();
         initScaling(yamlConfig, modeConfig);
     }
     
+    private void initContext(final YamlProxyConfiguration yamlConfig, final 
ModeConfiguration modeConfig) throws SQLException {
+        ProxyConfiguration proxyConfig = new 
YamlProxyConfigurationSwapper().swap(yamlConfig);
+        boolean isOverwrite = null == modeConfig || modeConfig.isOverwrite();
+        Map<String, Map<String, DataSource>> dataSourcesMap = 
getDataSourcesMap(proxyConfig.getSchemaDataSources());
+        ContextManager contextManager = 
ContextManagerBuilderFactory.newInstance(modeConfig).build(modeConfig, 
dataSourcesMap,
+                proxyConfig.getSchemaRules(), proxyConfig.getGlobalRules(), 
proxyConfig.getProps(), isOverwrite);
+        ProxyContext.getInstance().init(contextManager);
+    }
+    
     // TODO add DataSourceParameter param to ContextManagerBuilder to avoid 
re-build data source
     private Map<String, Map<String, DataSource>> getDataSourcesMap(final 
Map<String, Map<String, DataSourceParameter>> dataSourceParametersMap) {
         Map<String, Map<String, DataSource>> result = new 
LinkedHashMap<>(dataSourceParametersMap.size(), 1);

Reply via email to