You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ki...@apache.org on 2020/07/30 17:38:26 UTC

[shardingsphere] branch master updated: Rename ProxyConfigurationLoader (#6540)

This is an automated email from the ASF dual-hosted git repository.

kimmking 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 cc4cd08  Rename ProxyConfigurationLoader (#6540)
cc4cd08 is described below

commit cc4cd08c2b97ec6d497886c1fc5b01e39e8f0e6e
Author: Liang Zhang <te...@163.com>
AuthorDate: Fri Jul 31 01:38:05 2020 +0800

    Rename ProxyConfigurationLoader (#6540)
    
    * refactor OrchestrationShardingSphereDataSource
    
    * refactor OrchestrationShardingSphereDataSource
    
    * refactor OrchestrationShardingSphereDataSource
    
    * Rename ProxyConfigurationLoader
    
    * Refactor ProxyConfigurationLoader
    
    * Refactor ProxyConfigurationConverter
    
    * Fix javadoc
    
    * Fix javadoc
    
    * Refactor OrchestrationShardingSphereDataSource
    
    * Refactor OrchestrationShardingSphereDataSource
---
 .../core/facade/OrchestrationFacade.java           | 18 ++++----
 .../OrchestrationShardingSphereDataSource.java     | 54 +++++++++++-----------
 .../org/apache/shardingsphere/proxy/Bootstrap.java | 29 ++++++------
 ...onLoader.java => ProxyConfigurationLoader.java} | 34 +++++++-------
 ...figuration.java => YamlProxyConfiguration.java} |  6 +--
 .../converter/DefaultConfigurationConverter.java   | 35 +++++++-------
 .../converter/ProxyConfigurationConverter.java     |  9 ++--
 ...Test.java => ProxyConfigurationLoaderTest.java} | 12 ++---
 .../OrchestrationConfigurationConverter.java       | 28 +++++------
 9 files changed, 115 insertions(+), 110 deletions(-)

diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/main/java/org/apache/shardingsphere/orchestration/core/facade/OrchestrationFacade.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/main/java/org/apache/shardingsphere/orchestration/core/facade/OrchestrationFacade.java
index a6f3105..747910f 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/main/java/org/apache/shardingsphere/orchestration/core/facade/OrchestrationFacade.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/main/java/org/apache/shardingsphere/orchestration/core/facade/OrchestrationFacade.java
@@ -73,15 +73,6 @@ public final class OrchestrationFacade implements AutoCloseable {
     
     /**
      * Online instance.
-     */
-    public void onlineInstance() {
-        registryCenter.persistInstanceOnline();
-        registryCenter.persistDataSourcesNode();
-        listenerManager.init();
-    }
-    
-    /**
-     * Online instance.
      *
      * @param dataSourceConfigurationMap schema data source configuration map
      * @param schemaRuleMap schema rule map
@@ -98,6 +89,15 @@ public final class OrchestrationFacade implements AutoCloseable {
     }
     
     /**
+     * Online instance.
+     */
+    public void onlineInstance() {
+        registryCenter.persistInstanceOnline();
+        registryCenter.persistDataSourcesNode();
+        listenerManager.init();
+    }
+    
+    /**
      * Initialize metrics configuration to config center.
      *
      * @param metricsConfiguration metrics configuration
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/main/java/org/apache/shardingsphere/driver/orchestration/internal/datasource/OrchestrationShardingSphereDataSource.java b/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/main/java/org/apache/shardingsphere/driver/orchestration/internal/datasource/OrchestrationShardingSphereDataSource.java
index 3399f62..748be7b 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/main/java/org/apache/shardingsphere/driver/orchestration/internal/datasource/OrchestrationShardingSphereDataSource.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/main/java/org/apache/shardingsphere/driver/orchestration/internal/datasource/OrchestrationShardingSphereDataSource.java
@@ -69,6 +69,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Properties;
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
@@ -90,7 +91,7 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
     public OrchestrationShardingSphereDataSource(final OrchestrationConfiguration orchestrationConfig) throws SQLException {
         init(orchestrationConfig);
         dataSource = loadDataSource();
-        onlineInstanceWithOrchestrationCenter(null);
+        initWithOrchestrationCenter(null);
         disableDataSources();
         persistMetaData(dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getMetaData().getSchema());
         initCluster();
@@ -99,7 +100,7 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
     public OrchestrationShardingSphereDataSource(final OrchestrationConfiguration orchestrationConfig, final ClusterConfiguration clusterConfiguration) throws SQLException {
         init(orchestrationConfig);
         dataSource = loadDataSource();
-        onlineInstanceWithOrchestrationCenter(clusterConfiguration);
+        initWithOrchestrationCenter(clusterConfiguration);
         disableDataSources();
         persistMetaData(dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getMetaData().getSchema());
         initCluster();
@@ -108,7 +109,7 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
     public OrchestrationShardingSphereDataSource(final ShardingSphereDataSource shardingSphereDataSource, final OrchestrationConfiguration orchestrationConfig) {
         init(orchestrationConfig);
         dataSource = shardingSphereDataSource;
-        onlineInstanceWithLocalConfiguration(null);
+        initWithLocalConfiguration(null);
         disableDataSources();
         persistMetaData(dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getMetaData().getSchema());
         initCluster();
@@ -118,14 +119,14 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
                                                  final OrchestrationConfiguration orchestrationConfig, final ClusterConfiguration clusterConfiguration) {
         init(orchestrationConfig);
         dataSource = shardingSphereDataSource;
-        onlineInstanceWithLocalConfiguration(clusterConfiguration);
+        initWithLocalConfiguration(clusterConfiguration);
         disableDataSources();
         persistMetaData(dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getMetaData().getSchema());
         initCluster();
     }
     
-    private void init(final OrchestrationConfiguration orchestrationConfig) {
-        orchestrationFacade.init(orchestrationConfig, Collections.singletonList(DefaultSchema.LOGIC_NAME));
+    private void init(final OrchestrationConfiguration config) {
+        orchestrationFacade.init(config, Collections.singletonList(DefaultSchema.LOGIC_NAME));
         OrchestrationEventBus.getInstance().register(this);
     }
     
@@ -136,7 +137,7 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
         return new ShardingSphereDataSource(DataSourceConverter.getDataSourceMap(dataSourceConfigurations), ruleConfigurations, configCenter.loadProperties());
     }
     
-    private void onlineInstanceWithOrchestrationCenter(final ClusterConfiguration clusterConfiguration) {
+    private void initWithOrchestrationCenter(final ClusterConfiguration clusterConfiguration) {
         orchestrationFacade.onlineInstance();
         if (null != clusterConfiguration) {
             orchestrationFacade.initClusterConfiguration(clusterConfiguration);
@@ -144,22 +145,23 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
         dataSourceConfigurations.putAll(orchestrationFacade.getConfigCenter().loadDataSourceConfigurations(DefaultSchema.LOGIC_NAME));
     }
     
-    private void onlineInstanceWithLocalConfiguration(final ClusterConfiguration clusterConfiguration) {
+    private void initWithLocalConfiguration(final ClusterConfiguration clusterConfiguration) {
         Map<String, DataSourceConfiguration> dataSourceConfigurations = DataSourceConverter.getDataSourceConfigurationMap(dataSource.getDataSourceMap());
         Collection<RuleConfiguration> ruleConfigurations = dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getConfigurations();
-        orchestrationFacade.onlineInstance(Collections.singletonMap(DefaultSchema.LOGIC_NAME, dataSourceConfigurations), Collections.singletonMap(DefaultSchema.LOGIC_NAME, ruleConfigurations), 
-                null, dataSource.getSchemaContexts().getProps().getProps());
+        Properties props = dataSource.getSchemaContexts().getProps().getProps();
+        orchestrationFacade.onlineInstance(
+                Collections.singletonMap(DefaultSchema.LOGIC_NAME, dataSourceConfigurations), Collections.singletonMap(DefaultSchema.LOGIC_NAME, ruleConfigurations), null, props);
         if (null != clusterConfiguration) {
             orchestrationFacade.initClusterConfiguration(clusterConfiguration);
         }
         this.dataSourceConfigurations.putAll(dataSourceConfigurations);
     }
     
-    // TODO decouple MasterSlaveRule
+    // TODO decouple masterslave rule
     private void disableDataSources() {
         Collection<String> disabledDataSources = orchestrationFacade.getRegistryCenter().loadDisabledDataSources();
         if (!disabledDataSources.isEmpty()) {
-            dataSource.getSchemaContexts().getSchemaContexts().forEach((key, value) 
+            dataSource.getSchemaContexts().getSchemaContexts().forEach((key, value)
                 -> value.getSchema().getRules().stream().filter(each -> each instanceof MasterSlaveRule).forEach(each -> disableDataSources((MasterSlaveRule) each, disabledDataSources, key)));
         }
     }
@@ -176,6 +178,7 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
         orchestrationFacade.getMetaDataCenter().persistMetaDataCenterNode(DefaultSchema.LOGIC_NAME, metaData);
     }
     
+    // TODO decouple ClusterConfiguration
     private void initCluster() {
         ClusterConfiguration clusterConfig = orchestrationFacade.getConfigCenter().loadClusterConfiguration();
         if (null != clusterConfig && null != clusterConfig.getHeartbeat()) {
@@ -278,18 +281,6 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
         }
     }
     
-    /**
-     * Heart beat detect.
-     *
-     * @param event heart beat detect notice event
-     */
-    @Subscribe
-    public synchronized void heartbeat(final HeartbeatDetectNoticeEvent event) {
-        if (ClusterInitFacade.isEnabled()) {
-            ClusterFacade.getInstance().detectHeartbeat(dataSource.getSchemaContexts().getSchemaContexts());
-        }
-    }
-    
     private synchronized Map<String, DataSource> getChangedDataSources(final Map<String, DataSource> oldDataSources, final Map<String, DataSourceConfiguration> newDataSources) {
         Map<String, DataSource> result = new LinkedHashMap<>(oldDataSources);
         Map<String, DataSourceConfiguration> modifiedDataSources = getModifiedDataSources(newDataSources);
@@ -320,8 +311,19 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
     
     private ShardingSphereSchema getChangedSchema(final ShardingSphereSchema oldSchema, final RuleSchemaMetaData newRuleSchemaMetaData) {
         ShardingSphereMetaData metaData = new ShardingSphereMetaData(oldSchema.getMetaData().getDataSources(), newRuleSchemaMetaData);
-        return new ShardingSphereSchema(oldSchema.getDatabaseType(), oldSchema.getConfigurations(),
-                oldSchema.getRules(), oldSchema.getDataSources(), metaData);
+        return new ShardingSphereSchema(oldSchema.getDatabaseType(), oldSchema.getConfigurations(), oldSchema.getRules(), oldSchema.getDataSources(), metaData);
+    }
+    
+    /**
+     * Heart beat detect.
+     *
+     * @param event heart beat detect notice event
+     */
+    @Subscribe
+    public synchronized void heartbeat(final HeartbeatDetectNoticeEvent event) {
+        if (ClusterInitFacade.isEnabled()) {
+            ClusterFacade.getInstance().detectHeartbeat(dataSource.getSchemaContexts().getSchemaContexts());
+        }
     }
     
     @Override
diff --git a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java
index 417f969..e5d9de9 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java
@@ -17,8 +17,6 @@
 
 package org.apache.shardingsphere.proxy;
 
-import com.google.common.primitives.Ints;
-import java.util.Objects;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -45,10 +43,10 @@ import org.apache.shardingsphere.proxy.backend.communication.jdbc.datasource.JDB
 import org.apache.shardingsphere.proxy.backend.communication.jdbc.recognizer.JDBCDriverURLRecognizerEngine;
 import org.apache.shardingsphere.proxy.backend.schema.ProxySchemaContexts;
 import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
+import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
+import org.apache.shardingsphere.proxy.config.ProxyConfigurationLoader;
 import org.apache.shardingsphere.proxy.config.converter.ProxyConfigurationConverter;
 import org.apache.shardingsphere.proxy.config.converter.ProxyConfigurationConverterFactory;
-import org.apache.shardingsphere.proxy.config.ShardingConfiguration;
-import org.apache.shardingsphere.proxy.config.ShardingConfigurationLoader;
 import org.apache.shardingsphere.proxy.config.yaml.YamlProxyRuleConfiguration;
 import org.apache.shardingsphere.proxy.frontend.bootstrap.ShardingSphereProxy;
 
@@ -62,6 +60,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Objects;
 import java.util.Properties;
 import java.util.stream.Collectors;
 
@@ -83,11 +82,11 @@ public final class Bootstrap {
     public static void main(final String[] args) throws Exception {
         int port = getPort(args);
         System.setProperty(Constants.PORT_KEY, String.valueOf(port));
-        ShardingConfiguration shardingConfig = new ShardingConfigurationLoader().load(getConfigPath(args));
-        logRuleConfigurationMap(getRuleConfigurations(shardingConfig.getRuleConfigurationMap()).values());
-        boolean isOrchestration = null != shardingConfig.getServerConfiguration().getOrchestration();
+        YamlProxyConfiguration yamlConfig = new ProxyConfigurationLoader().load(getConfigurationPath(args));
+        logRuleConfigurationMap(getRuleConfigurations(yamlConfig.getRuleConfigurations()).values());
+        boolean isOrchestration = null != yamlConfig.getServerConfiguration().getOrchestration();
         try (ProxyConfigurationConverter converter = ProxyConfigurationConverterFactory.newInstances(isOrchestration)) {
-            ProxyConfiguration proxyConfiguration = converter.convert(shardingConfig);
+            ProxyConfiguration proxyConfiguration = converter.convert(yamlConfig);
             initialize(proxyConfiguration, port, converter);
         }
     }
@@ -96,15 +95,15 @@ public final class Bootstrap {
         if (0 == args.length) {
             return Constants.DEFAULT_PORT;
         }
-        Integer port = Ints.tryParse(args[0]);
-        return port == null ? Constants.DEFAULT_PORT : port;
+        try {
+            return Integer.parseInt(args[0]);
+        } catch (final NumberFormatException ex) {
+            throw new IllegalArgumentException(String.format("Invalid port `%s`.", args[0]));
+        }
     }
     
-    private static String getConfigPath(final String[] args) {
-        if (args.length < 2) {
-            return DEFAULT_CONFIG_PATH;
-        }
-        return paddingWithSlash(args[1]);
+    private static String getConfigurationPath(final String[] args) {
+        return args.length < 2 ? DEFAULT_CONFIG_PATH : paddingWithSlash(args[1]);
     }
     
     private static String paddingWithSlash(final String arg) {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ShardingConfigurationLoader.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoader.java
similarity index 82%
rename from shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ShardingConfigurationLoader.java
rename to shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoader.java
index a9fb5e0..bfc6759 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ShardingConfigurationLoader.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoader.java
@@ -18,10 +18,10 @@
 package org.apache.shardingsphere.proxy.config;
 
 import com.google.common.base.Preconditions;
+import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
 import org.apache.shardingsphere.proxy.config.yaml.YamlDataSourceParameterMerger;
 import org.apache.shardingsphere.proxy.config.yaml.YamlProxyRuleConfiguration;
 import org.apache.shardingsphere.proxy.config.yaml.YamlProxyServerConfiguration;
-import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
 
 import java.io.File;
 import java.io.IOException;
@@ -29,15 +29,14 @@ import java.net.URL;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.LinkedList;
-import java.util.Map;
 import java.util.Optional;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
- * Sharding configuration loader.
+ * Proxy configuration loader.
  */
-public final class ShardingConfigurationLoader {
+public final class ProxyConfigurationLoader {
     
     private static final String DEFAULT_DATASOURCE_NAME = "dataSource";
     
@@ -52,25 +51,17 @@ public final class ShardingConfigurationLoader {
      * @return configuration of ShardingSphere-Proxy
      * @throws IOException IO exception
      */
-    public ShardingConfiguration load(final String path) throws IOException {
+    public YamlProxyConfiguration load(final String path) throws IOException {
         Collection<String> schemaNames = new HashSet<>();
         YamlProxyServerConfiguration serverConfig = loadServerConfiguration(getResourceFile(path + "/" + SERVER_CONFIG_FILE));
         File configPath = getResourceFile(path);
-        Collection<YamlProxyRuleConfiguration> ruleConfigurations = new LinkedList<>();
-        for (File each : findRuleConfigurationFiles(configPath)) {
-            loadRuleConfiguration(each).ifPresent(yamlProxyRuleConfiguration -> {
-                Preconditions.checkState(
-                        schemaNames.add(yamlProxyRuleConfiguration.getSchemaName()), "Schema name `%s` must unique at all rule configurations.", yamlProxyRuleConfiguration.getSchemaName());
-                ruleConfigurations.add(yamlProxyRuleConfiguration);
-            });
-        }
+        Collection<YamlProxyRuleConfiguration> ruleConfigurations = loadRuleConfigurations(schemaNames, configPath);
         Preconditions.checkState(!ruleConfigurations.isEmpty() || null != serverConfig.getOrchestration(), "Can not find any sharding rule configuration file in path `%s`.", configPath.getPath());
-        Map<String, YamlProxyRuleConfiguration> ruleConfigurationMap = ruleConfigurations.stream().collect(Collectors.toMap(YamlProxyRuleConfiguration::getSchemaName, each -> each));
-        return new ShardingConfiguration(serverConfig, ruleConfigurationMap);
+        return new YamlProxyConfiguration(serverConfig, ruleConfigurations.stream().collect(Collectors.toMap(YamlProxyRuleConfiguration::getSchemaName, each -> each)));
     }
     
     private File getResourceFile(final String path) {
-        URL url = ShardingConfigurationLoader.class.getResource(path);
+        URL url = ProxyConfigurationLoader.class.getResource(path);
         if (null != url) {
             return new File(url.getFile());
         }
@@ -84,6 +75,17 @@ public final class ShardingConfigurationLoader {
         return result;
     }
     
+    private Collection<YamlProxyRuleConfiguration> loadRuleConfigurations(final Collection<String> schemaNames, final File configPath) throws IOException {
+        Collection<YamlProxyRuleConfiguration> result = new LinkedList<>();
+        for (File each : findRuleConfigurationFiles(configPath)) {
+            loadRuleConfiguration(each).ifPresent(yamlProxyRuleConfig -> {
+                Preconditions.checkState(schemaNames.add(yamlProxyRuleConfig.getSchemaName()), "Schema name `%s` must unique at all rule configurations.", yamlProxyRuleConfig.getSchemaName());
+                result.add(yamlProxyRuleConfig);
+            });
+        }
+        return result;
+    }
+    
     private Optional<YamlProxyRuleConfiguration> loadRuleConfiguration(final File yamlFile) throws IOException {
         YamlProxyRuleConfiguration result = YamlEngine.unmarshal(yamlFile, YamlProxyRuleConfiguration.class);
         if (null == result) {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ShardingConfiguration.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/YamlProxyConfiguration.java
similarity index 93%
rename from shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ShardingConfiguration.java
rename to shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/YamlProxyConfiguration.java
index 7d3eae3..15388d4 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ShardingConfiguration.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/YamlProxyConfiguration.java
@@ -25,13 +25,13 @@ import org.apache.shardingsphere.proxy.config.yaml.YamlProxyServerConfiguration;
 import java.util.Map;
 
 /**
- * Sharding configuration.
+ * Yaml proxy configuration.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ShardingConfiguration {
+public final class YamlProxyConfiguration {
     
     private final YamlProxyServerConfiguration serverConfiguration;
     
-    private final Map<String, YamlProxyRuleConfiguration> ruleConfigurationMap;
+    private final Map<String, YamlProxyRuleConfiguration> ruleConfigurations;
 }
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/DefaultConfigurationConverter.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/DefaultConfigurationConverter.java
index 085659b..71d575a 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/DefaultConfigurationConverter.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/DefaultConfigurationConverter.java
@@ -17,10 +17,6 @@
 
 package org.apache.shardingsphere.proxy.config.converter;
 
-import java.sql.SQLException;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Optional;
 import org.apache.shardingsphere.cluster.configuration.config.ClusterConfiguration;
 import org.apache.shardingsphere.cluster.configuration.swapper.ClusterConfigurationYamlSwapper;
 import org.apache.shardingsphere.cluster.configuration.yaml.YamlClusterConfiguration;
@@ -31,7 +27,12 @@ import org.apache.shardingsphere.kernel.context.SchemaContextsAware;
 import org.apache.shardingsphere.kernel.context.SchemaContextsBuilder;
 import org.apache.shardingsphere.kernel.context.schema.DataSourceParameter;
 import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
-import org.apache.shardingsphere.proxy.config.ShardingConfiguration;
+import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
+
+import java.sql.SQLException;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Optional;
 
 /**
  * Default configuration converter.
@@ -39,18 +40,18 @@ import org.apache.shardingsphere.proxy.config.ShardingConfiguration;
 public final class DefaultConfigurationConverter extends AbstractConfigurationConverter {
     
     @Override
-    public ProxyConfiguration convert(final ShardingConfiguration shardingConfiguration) {
-        ProxyConfiguration proxyConfiguration = new ProxyConfiguration();
-        Authentication authentication = new AuthenticationYamlSwapper().swapToObject(shardingConfiguration.getServerConfiguration().getAuthentication());
-        Map<String, Map<String, DataSourceParameter>> schemaDataSources = getDataSourceParametersMap(shardingConfiguration.getRuleConfigurationMap());
-        Map<String, Collection<RuleConfiguration>> schemaRules = getRuleConfigurations(shardingConfiguration.getRuleConfigurationMap());
-        proxyConfiguration.setAuthentication(authentication);
-        proxyConfiguration.setProps(shardingConfiguration.getServerConfiguration().getProps());
-        proxyConfiguration.setSchemaDataSources(schemaDataSources);
-        proxyConfiguration.setSchemaRules(schemaRules);
-        proxyConfiguration.setCluster(getClusterConfiguration(shardingConfiguration.getServerConfiguration().getCluster()));
-        proxyConfiguration.setMetrics(getMetricsConfiguration(shardingConfiguration.getServerConfiguration().getMetrics()));
-        return proxyConfiguration;
+    public ProxyConfiguration convert(final YamlProxyConfiguration yamlProxyConfiguration) {
+        ProxyConfiguration result = new ProxyConfiguration();
+        Authentication authentication = new AuthenticationYamlSwapper().swapToObject(yamlProxyConfiguration.getServerConfiguration().getAuthentication());
+        Map<String, Map<String, DataSourceParameter>> schemaDataSources = getDataSourceParametersMap(yamlProxyConfiguration.getRuleConfigurations());
+        Map<String, Collection<RuleConfiguration>> schemaRules = getRuleConfigurations(yamlProxyConfiguration.getRuleConfigurations());
+        result.setAuthentication(authentication);
+        result.setProps(yamlProxyConfiguration.getServerConfiguration().getProps());
+        result.setSchemaDataSources(schemaDataSources);
+        result.setSchemaRules(schemaRules);
+        result.setCluster(getClusterConfiguration(yamlProxyConfiguration.getServerConfiguration().getCluster()));
+        result.setMetrics(getMetricsConfiguration(yamlProxyConfiguration.getServerConfiguration().getMetrics()));
+        return result;
     }
     
     @Override
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/ProxyConfigurationConverter.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/ProxyConfigurationConverter.java
index 65327cb..2ebd6a9 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/ProxyConfigurationConverter.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/ProxyConfigurationConverter.java
@@ -17,11 +17,12 @@
 
 package org.apache.shardingsphere.proxy.config.converter;
 
-import java.sql.SQLException;
 import org.apache.shardingsphere.kernel.context.SchemaContextsAware;
 import org.apache.shardingsphere.kernel.context.SchemaContextsBuilder;
 import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
-import org.apache.shardingsphere.proxy.config.ShardingConfiguration;
+import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
+
+import java.sql.SQLException;
 
 /**
  * Proxy configuration converter.
@@ -31,10 +32,10 @@ public interface ProxyConfigurationConverter extends AutoCloseable {
     /**
      * Convert proxy configuration.
      *
-     * @param shardingConfiguration sharding configuration
+     * @param yamlProxyConfiguration YAML proxy configuration
      * @return proxy configuration
      */
-    ProxyConfiguration convert(ShardingConfiguration shardingConfiguration);
+    ProxyConfiguration convert(YamlProxyConfiguration yamlProxyConfiguration);
     
     /**
      * Build contexts aware.
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ShardingConfigurationLoaderTest.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoaderTest.java
similarity index 96%
rename from shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ShardingConfigurationLoaderTest.java
rename to shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoaderTest.java
index e69baa8..60be871 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ShardingConfigurationLoaderTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoaderTest.java
@@ -37,16 +37,16 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
-public final class ShardingConfigurationLoaderTest {
+public final class ProxyConfigurationLoaderTest {
     
     @Test
     public void assertLoad() throws IOException {
-        ShardingConfiguration actual = new ShardingConfigurationLoader().load("/conf/");
+        YamlProxyConfiguration actual = new ProxyConfigurationLoader().load("/conf/");
         assertThat(actual.getServerConfiguration().getOrchestration().getRegistryCenter().getServerLists(), is("localhost:2181"));
-        assertThat(actual.getRuleConfigurationMap().size(), is(3));
-        assertShardingRuleConfiguration(actual.getRuleConfigurationMap().get("sharding_db"));
-        assertMasterSlaveRuleConfiguration(actual.getRuleConfigurationMap().get("master_slave_db"));
-        assertEncryptRuleConfiguration(actual.getRuleConfigurationMap().get("encrypt_db"));
+        assertThat(actual.getRuleConfigurations().size(), is(3));
+        assertShardingRuleConfiguration(actual.getRuleConfigurations().get("sharding_db"));
+        assertMasterSlaveRuleConfiguration(actual.getRuleConfigurations().get("master_slave_db"));
+        assertEncryptRuleConfiguration(actual.getRuleConfigurations().get("encrypt_db"));
     }
     
     private void assertShardingRuleConfiguration(final YamlProxyRuleConfiguration actual) {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-orchestration/src/main/java/org/apache/shardingsphere/proxy/orchestration/OrchestrationConfigurationConverter.java b/shardingsphere-proxy/shardingsphere-proxy-orchestration/src/main/java/org/apache/shardingsphere/proxy/orchestration/OrchestrationConfigurationConverter.java
index 2e6c95c..8708a2a 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-orchestration/src/main/java/org/apache/shardingsphere/proxy/orchestration/OrchestrationConfigurationConverter.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-orchestration/src/main/java/org/apache/shardingsphere/proxy/orchestration/OrchestrationConfigurationConverter.java
@@ -31,7 +31,7 @@ import org.apache.shardingsphere.orchestration.core.facade.OrchestrationFacade;
 import org.apache.shardingsphere.orchestration.core.common.yaml.config.YamlOrchestrationConfiguration;
 import org.apache.shardingsphere.orchestration.core.common.yaml.swapper.OrchestrationConfigurationYamlSwapper;
 import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
-import org.apache.shardingsphere.proxy.config.ShardingConfiguration;
+import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
 import org.apache.shardingsphere.proxy.config.converter.AbstractConfigurationConverter;
 import org.apache.shardingsphere.proxy.config.util.DataSourceConverter;
 import org.apache.shardingsphere.proxy.config.yaml.YamlProxyRuleConfiguration;
@@ -54,24 +54,24 @@ public final class OrchestrationConfigurationConverter extends AbstractConfigura
     private final OrchestrationFacade orchestrationFacade = OrchestrationFacade.getInstance();
     
     @Override
-    public ProxyConfiguration convert(final ShardingConfiguration shardingConfiguration) {
-        YamlOrchestrationConfiguration orchestration = shardingConfiguration.getServerConfiguration().getOrchestration();
-        Set<String> schemaNames = shardingConfiguration.getRuleConfigurationMap().keySet();
-        ProxyConfiguration proxyConfiguration = new ProxyConfiguration();
-        orchestrationFacade.init(new OrchestrationConfigurationYamlSwapper().swapToObject(orchestration), schemaNames);
-        initOrchestrationConfigurations(shardingConfiguration.getServerConfiguration(), shardingConfiguration.getRuleConfigurationMap(), orchestrationFacade);
+    public ProxyConfiguration convert(final YamlProxyConfiguration yamlProxyConfiguration) {
+        YamlOrchestrationConfiguration orchestrationConfig = yamlProxyConfiguration.getServerConfiguration().getOrchestration();
+        Set<String> schemaNames = yamlProxyConfiguration.getRuleConfigurations().keySet();
+        ProxyConfiguration result = new ProxyConfiguration();
+        orchestrationFacade.init(new OrchestrationConfigurationYamlSwapper().swapToObject(orchestrationConfig), schemaNames);
+        initOrchestrationConfigurations(yamlProxyConfiguration.getServerConfiguration(), yamlProxyConfiguration.getRuleConfigurations(), orchestrationFacade);
         Authentication authentication = orchestrationFacade.getConfigCenter().loadAuthentication();
         Properties properties = orchestrationFacade.getConfigCenter().loadProperties();
         Map<String, Map<String, DataSourceParameter>> schemaDataSources = getDataSourceParametersMap(orchestrationFacade);
         Map<String, Collection<RuleConfiguration>> schemaRules = getSchemaRules(orchestrationFacade);
         ClusterConfiguration clusterConfiguration = orchestrationFacade.getConfigCenter().loadClusterConfiguration();
-        proxyConfiguration.setAuthentication(authentication);
-        proxyConfiguration.setProps(properties);
-        proxyConfiguration.setSchemaDataSources(schemaDataSources);
-        proxyConfiguration.setSchemaRules(schemaRules);
-        proxyConfiguration.setCluster(clusterConfiguration);
-        proxyConfiguration.setMetrics(getMetricsConfiguration(shardingConfiguration.getServerConfiguration().getMetrics()));
-        return proxyConfiguration;
+        result.setAuthentication(authentication);
+        result.setProps(properties);
+        result.setSchemaDataSources(schemaDataSources);
+        result.setSchemaRules(schemaRules);
+        result.setCluster(clusterConfiguration);
+        result.setMetrics(getMetricsConfiguration(yamlProxyConfiguration.getServerConfiguration().getMetrics()));
+        return result;
     }
     
     @Override