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

menghaoran 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 2a52eec  Refactor RegistryCenter (#10371)
2a52eec is described below

commit 2a52eec77e57acfaf5a1b5db3cb293a24bb9e026
Author: Liang Zhang <[email protected]>
AuthorDate: Tue May 18 06:21:08 2021 +0800

    Refactor RegistryCenter (#10371)
    
    * Remove @RequiredArgsConstructor of RegistryCenterNode
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Add GovernanceInstanceTest
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Remove useless codes
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Remove useless codes
    
    * Remove useless codes
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
    
    * Refactor RegistryCenter
---
 .../metadata/GovernanceMetaDataContexts.java       |   2 +-
 .../governance/core/facade/GovernanceFacade.java   |   2 +-
 .../governance/core/registry/RegistryCenter.java   | 206 +++++++++------------
 .../core/registry/RegistryCenterNode.java          |   2 -
 .../core/registry/instance/GovernanceInstance.java |  16 +-
 .../impl/TerminalStateChangedListener.java         |   2 +-
 .../core/registry/RegistryCenterTest.java          |  14 +-
 .../registry/instance/GovernanceInstanceTest.java  |  32 ++++
 .../impl/GovernanceBootstrapInitializer.java       |   2 +-
 9 files changed, 134 insertions(+), 144 deletions(-)

diff --git 
a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
 
b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
index 876635f..8980d8b 100644
--- 
a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
+++ 
b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
@@ -192,7 +192,7 @@ public final class GovernanceMetaDataContexts implements 
MetaDataContexts {
         
governanceFacade.getRegistryCenter().persistSchema(event.getSchemaName(), 
metaDataContexts.getMetaDataMap().get(event.getSchemaName()).getSchema());
         ShardingSphereEventBus.getInstance().post(new 
DataSourceChangeCompletedEvent(event.getSchemaName(), 
                 
metaDataContexts.getMetaDataMap().get(event.getSchemaName()).getResource().getDatabaseType(),
 metaDataMap.get(event.getSchemaName()).getResource().getDataSources()));
-        ShardingSphereEventBus.getInstance().post(new 
MetaDataChangedEvent(governanceFacade.getRegistryCenter().getAllSchemaNames()));
+        ShardingSphereEventBus.getInstance().post(new 
MetaDataChangedEvent(governanceFacade.getRegistryCenter().loadAllSchemaNames()));
     }
     
     /**
diff --git 
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacade.java
 
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacade.java
index 98679e4..1ea5036 100644
--- 
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacade.java
+++ 
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacade.java
@@ -57,7 +57,7 @@ public final class GovernanceFacade implements AutoCloseable {
         registryCenterRepository = 
RegistryCenterRepositoryFactory.newInstance(config);
         registryCenter = new RegistryCenter(registryCenterRepository);
         listenerManager = new 
GovernanceListenerManager(registryCenterRepository, 
-                Stream.of(registryCenter.getAllSchemaNames(), 
schemaNames).flatMap(Collection::stream).distinct().collect(Collectors.toList()));
+                Stream.of(registryCenter.loadAllSchemaNames(), 
schemaNames).flatMap(Collection::stream).distinct().collect(Collectors.toList()));
     }
     
     /**
diff --git 
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
 
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
index 1d018c6..803dee7 100644
--- 
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
+++ 
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
@@ -88,42 +88,79 @@ public final class RegistryCenter {
     
     private static final int CHECK_ACK_INTERVAL_SECONDS = 1;
     
-    private final RegistryCenterNode node;
+    private final String instanceId;
     
     private final RegistryCenterRepository repository;
     
-    private final GovernanceInstance instance;
+    private final RegistryCenterNode node;
     
     private final LockNode lockNode;
     
     private final RegistryCacheManager registryCacheManager;
     
-    public RegistryCenter(final RegistryCenterRepository 
registryCenterRepository) {
+    public RegistryCenter(final RegistryCenterRepository repository) {
+        instanceId = GovernanceInstance.getInstance().getId();
+        this.repository = repository;
         node = new RegistryCenterNode();
-        repository = registryCenterRepository;
-        instance = GovernanceInstance.getInstance();
         lockNode = new LockNode();
         initLockNode();
-        registryCacheManager = new 
RegistryCacheManager(registryCenterRepository, node);
+        registryCacheManager = new RegistryCacheManager(repository, node);
         ShardingSphereEventBus.getInstance().register(this);
     }
     
+    private void initLockNode() {
+        repository.persist(lockNode.getLockRootNodePath(), "");
+        repository.persist(lockNode.getLockedAckRootNodePah(), "");
+    }
+    
     /**
      * Persist rule configuration.
      *
      * @param schemaName schema name
      * @param dataSourceConfigs data source configuration map
-     * @param ruleConfigurations rule configurations
+     * @param ruleConfigs rule configurations
      * @param isOverwrite is overwrite config center's configuration
      */
-    public void persistConfigurations(final String schemaName, final 
Map<String, DataSourceConfiguration> dataSourceConfigs,
-                                      final Collection<RuleConfiguration> 
ruleConfigurations, final boolean isOverwrite) {
+    public void persistConfigurations(final String schemaName, 
+                                      final Map<String, 
DataSourceConfiguration> dataSourceConfigs, final Collection<RuleConfiguration> 
ruleConfigs, final boolean isOverwrite) {
         persistDataSourceConfigurations(schemaName, dataSourceConfigs, 
isOverwrite);
-        persistRuleConfigurations(schemaName, ruleConfigurations, isOverwrite);
+        persistRuleConfigurations(schemaName, ruleConfigs, isOverwrite);
         // TODO Consider removing the following one.
         persistSchemaName(schemaName);
     }
     
+    private void persistDataSourceConfigurations(final String schemaName, 
final Map<String, DataSourceConfiguration> dataSourceConfigs, final boolean 
isOverwrite) {
+        if (!dataSourceConfigs.isEmpty() && (isOverwrite || 
!hasDataSourceConfiguration(schemaName))) {
+            persistDataSourceConfigurations(schemaName, dataSourceConfigs);
+        }
+    }
+    
+    /**
+     * Persist data source configurations.
+     *
+     * @param schemaName schema name
+     * @param dataSourceConfigs data source configurations
+     */
+    public void persistDataSourceConfigurations(final String schemaName, final 
Map<String, DataSourceConfiguration> dataSourceConfigs) {
+        repository.persist(node.getMetadataDataSourcePath(schemaName), 
YamlEngine.marshal(createPersistedYamlDataSourceConfiguration(dataSourceConfigs)));
+    }
+    
+    private void persistRuleConfigurations(final String schemaName, final 
Collection<RuleConfiguration> ruleConfigs, final boolean isOverwrite) {
+        if (!ruleConfigs.isEmpty() && (isOverwrite || 
!hasRuleConfiguration(schemaName))) {
+            persistRuleConfigurations(schemaName, ruleConfigs);
+        }
+    }
+    
+    /**
+     * Persist rule configurations.
+     *
+     * @param schemaName schema name
+     * @param ruleConfigs rule configurations
+     */
+    public void persistRuleConfigurations(final String schemaName, final 
Collection<RuleConfiguration> ruleConfigs) {
+        repository.persist(node.getRulePath(schemaName), 
YamlEngine.marshal(createYamlRootRuleConfigurations(schemaName, ruleConfigs)));
+    }
+    
     /**
      * Persist global configuration.
      *
@@ -136,60 +173,40 @@ public final class RegistryCenter {
         persistProperties(props, isOverwrite);
     }
     
-    private Collection<RuleConfiguration> loadCachedRuleConfigurations(final 
String schemaName, final String ruleConfigurationCacheId) {
-        return new 
YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(
-                
YamlEngine.unmarshal(registryCacheManager.loadCache(node.getRulePath(schemaName),
 ruleConfigurationCacheId), YamlRootRuleConfigurations.class).getRules());
+    private void persistGlobalRuleConfigurations(final 
Collection<RuleConfiguration> globalRuleConfigs, final boolean isOverwrite) {
+        if (!globalRuleConfigs.isEmpty() && (isOverwrite || 
!hasGlobalRuleConfigurations())) {
+            repository.persist(node.getGlobalRuleNode(), 
YamlEngine.marshal(createGlobalPersistedYamlRuleConfiguration(globalRuleConfigs)));
+        }
     }
     
-    private void persistDataSourceConfigurations(final String schemaName, 
final Map<String, DataSourceConfiguration> dataSourceConfigurations, final 
boolean isOverwrite) {
-        if (!dataSourceConfigurations.isEmpty() && (isOverwrite || 
!hasDataSourceConfiguration(schemaName))) {
-            persistDataSourceConfigurations(schemaName, 
dataSourceConfigurations);
+    private void persistProperties(final Properties props, final boolean 
isOverwrite) {
+        if (!props.isEmpty() && (isOverwrite || !hasProperties())) {
+            repository.persist(node.getPropsPath(), YamlEngine.marshal(props));
         }
     }
     
-    /**
-     * Persist data source configurations.
-     *
-     * @param schemaName schema name
-     * @param dataSourceConfigurations data source configurations
-     */
-    public void persistDataSourceConfigurations(final String schemaName, final 
Map<String, DataSourceConfiguration> dataSourceConfigurations) {
-        repository.persist(node.getMetadataDataSourcePath(schemaName), 
YamlEngine.marshal(createPersistedYamlDataSourceConfiguration(dataSourceConfigurations)));
+    private Collection<RuleConfiguration> loadCachedRuleConfigurations(final 
String schemaName, final String ruleConfigCacheId) {
+        return new 
YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(
+                
YamlEngine.unmarshal(registryCacheManager.loadCache(node.getRulePath(schemaName),
 ruleConfigCacheId), YamlRootRuleConfigurations.class).getRules());
     }
     
-    private void addDataSourceConfigurations(final String schemaName, final 
Map<String, DataSourceConfiguration> dataSourceConfigurations) {
-        Map<String, DataSourceConfiguration> dataSourceConfigurationMap = 
loadDataSourceConfigurations(schemaName);
-        dataSourceConfigurationMap.putAll(dataSourceConfigurations);
-        repository.persist(node.getMetadataDataSourcePath(schemaName), 
YamlEngine.marshal(createPersistedYamlDataSourceConfiguration(dataSourceConfigurationMap)));
+    private void addDataSourceConfigurations(final String schemaName, final 
Map<String, DataSourceConfiguration> dataSourceConfigs) {
+        Map<String, DataSourceConfiguration> dataSourceConfigMap = 
loadDataSourceConfigurations(schemaName);
+        dataSourceConfigMap.putAll(dataSourceConfigs);
+        repository.persist(node.getMetadataDataSourcePath(schemaName), 
YamlEngine.marshal(createPersistedYamlDataSourceConfiguration(dataSourceConfigMap)));
     }
     
-    private PersistedYamlDataSourceConfiguration 
createPersistedYamlDataSourceConfiguration(final Map<String, 
DataSourceConfiguration> dataSourceConfigurations) {
-        Map<String, Map<String, Object>> yamlDataSourceConfigurations = 
dataSourceConfigurations.entrySet().stream()
+    private PersistedYamlDataSourceConfiguration 
createPersistedYamlDataSourceConfiguration(final Map<String, 
DataSourceConfiguration> dataSourceConfigs) {
+        Map<String, Map<String, Object>> yamlDataSourceConfigs = 
dataSourceConfigs.entrySet().stream()
                 .collect(Collectors.toMap(Map.Entry::getKey, entry -> new 
YamlDataSourceConfigurationSwapper().swapToMap(entry.getValue()), (oldValue, 
currentValue) -> oldValue, LinkedHashMap::new));
         PersistedYamlDataSourceConfiguration result = new 
PersistedYamlDataSourceConfiguration();
-        result.setDataSources(yamlDataSourceConfigurations);
+        result.setDataSources(yamlDataSourceConfigs);
         return result;
     }
     
-    private void persistRuleConfigurations(final String schemaName, final 
Collection<RuleConfiguration> ruleConfigurations, final boolean isOverwrite) {
-        if (!ruleConfigurations.isEmpty() && (isOverwrite || 
!hasRuleConfiguration(schemaName))) {
-            persistRuleConfigurations(schemaName, ruleConfigurations);
-        }
-    }
-    
-    /**
-     * Persist rule configurations.
-     *
-     * @param schemaName schema name
-     * @param ruleConfigurations rule configurations
-     */
-    public void persistRuleConfigurations(final String schemaName, final 
Collection<RuleConfiguration> ruleConfigurations) {
-        repository.persist(node.getRulePath(schemaName), 
YamlEngine.marshal(createYamlRootRuleConfigurations(schemaName, 
ruleConfigurations)));
-    }
-
-    private YamlRootRuleConfigurations createYamlRootRuleConfigurations(final 
String schemaName, final Collection<RuleConfiguration> ruleConfigurations) {
+    private YamlRootRuleConfigurations createYamlRootRuleConfigurations(final 
String schemaName, final Collection<RuleConfiguration> ruleConfigs) {
         Collection<RuleConfiguration> configs = new LinkedList<>();
-        for (RuleConfiguration each : ruleConfigurations) {
+        for (RuleConfiguration each : ruleConfigs) {
             Optional<RuleConfigurationChecker> checker = 
RuleConfigurationCheckerFactory.newInstance(each);
             if (checker.isPresent()) {
                 checker.get().check(schemaName, each);
@@ -200,42 +217,21 @@ public final class RegistryCenter {
         result.setRules(new 
YamlRuleConfigurationSwapperEngine().swapToYamlRuleConfigurations(configs));
         return result;
     }
-
-    private void persistNewUsers(final Collection<ShardingSphereUser> users) {
-        if (!users.isEmpty()) {
-            Collection<String> yamlUsers = 
YamlEngine.unmarshal(repository.get(node.getUsersNode()), Collection.class);
-            Collection<String> newUsers = new 
LinkedHashSet<>(YamlUsersConfigurationConverter.convertYamlUserConfigurations(users));
-            newUsers.addAll(yamlUsers);
-            repository.persist(node.getUsersNode(), 
YamlEngine.marshal(newUsers));
-        }
-    }
     
     private void persistChangedPrivilege(final Collection<ShardingSphereUser> 
users) {
         if (!users.isEmpty()) {
             repository.persist(node.getPrivilegeNodePath(), 
YamlEngine.marshal(YamlUsersConfigurationConverter.convertYamlUserConfigurations(users)));
         }
     }
-
-    private void persistProperties(final Properties props, final boolean 
isOverwrite) {
-        if (!props.isEmpty() && (isOverwrite || !hasProperties())) {
-            repository.persist(node.getPropsPath(), YamlEngine.marshal(props));
-        }
+    
+    private boolean hasGlobalRuleConfigurations() {
+        return 
!Strings.isNullOrEmpty(repository.get(node.getGlobalRuleNode()));
     }
     
     private boolean hasProperties() {
         return !Strings.isNullOrEmpty(repository.get(node.getPropsPath()));
     }
     
-    private void persistGlobalRuleConfigurations(final 
Collection<RuleConfiguration> globalRuleConfigs, final boolean isOverwrite) {
-        if (!globalRuleConfigs.isEmpty() && (isOverwrite || 
!hasGlobalRuleConfigurations())) {
-            repository.persist(node.getGlobalRuleNode(), 
YamlEngine.marshal(createGlobalPersistedYamlRuleConfiguration(globalRuleConfigs)));
-        }
-    }
-    
-    private boolean hasGlobalRuleConfigurations() {
-        return 
!Strings.isNullOrEmpty(repository.get(node.getGlobalRuleNode()));
-    }
-    
     private PersistedYamlRuleConfiguration 
createGlobalPersistedYamlRuleConfiguration(final Collection<RuleConfiguration> 
globalRuleConfigs) {
         PersistedYamlRuleConfiguration result = new 
PersistedYamlRuleConfiguration();
         result.setRules(new 
YamlRuleConfigurationSwapperEngine().swapToYamlRuleConfigurations(globalRuleConfigs));
@@ -291,12 +287,14 @@ public final class RegistryCenter {
     }
     
     /**
-     * Load users.
-     *
-     * @return users
+     * Load global rule configurations.
+     * 
+     * @return global rule configurations
      */
-    public Collection<ShardingSphereUser> loadUsers() {
-        return hasUsers() ? 
YamlUsersConfigurationConverter.convertShardingSphereUser(YamlEngine.unmarshal(repository.get(node.getUsersNode()),
 Collection.class)) : Collections.emptyList();
+    public Collection<RuleConfiguration> loadGlobalRuleConfigurations() {
+        return hasGlobalRuleConfigurations()
+                ? new 
YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(YamlEngine.unmarshal(repository.get(node.getGlobalRuleNode()),
 PersistedYamlRuleConfiguration.class).getRules())
+                : Collections.emptyList();
     }
     
     /**
@@ -309,44 +307,33 @@ public final class RegistryCenter {
     }
     
     /**
-     * Load global rule configurations.
-     * 
-     * @return global rule configurations
-     */
-    public Collection<RuleConfiguration> loadGlobalRuleConfigurations() {
-        return hasGlobalRuleConfigurations()
-                ? new 
YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(YamlEngine.unmarshal(repository.get(node.getGlobalRuleNode()),
 PersistedYamlRuleConfiguration.class).getRules())
-                : Collections.emptyList();
-    }
-    
-    /**
-     * Get all schema names.
+     * Load all schema names.
      *
      * @return all schema names
      */
-    public Collection<String> getAllSchemaNames() {
+    public Collection<String> loadAllSchemaNames() {
         String schemaNames = repository.get(node.getMetadataNodePath());
         return Strings.isNullOrEmpty(schemaNames) ? new LinkedList<>() : 
node.splitSchemaName(schemaNames);
     }
     
     /**
-     * Judge whether schema has rule configuration.
+     * Judge whether schema has data source configuration.
      *
      * @param schemaName schema name
-     * @return has rule configuration or not
+     * @return has data source configuration or not
      */
-    public boolean hasRuleConfiguration(final String schemaName) {
-        return 
!Strings.isNullOrEmpty(repository.get(node.getRulePath(schemaName)));
+    public boolean hasDataSourceConfiguration(final String schemaName) {
+        return 
!Strings.isNullOrEmpty(repository.get(node.getMetadataDataSourcePath(schemaName)));
     }
     
     /**
-     * Judge whether schema has data source configuration.
+     * Judge whether schema has rule configuration.
      *
      * @param schemaName schema name
-     * @return has data source configuration or not
+     * @return has rule configuration or not
      */
-    public boolean hasDataSourceConfiguration(final String schemaName) {
-        return 
!Strings.isNullOrEmpty(repository.get(node.getMetadataDataSourcePath(schemaName)));
+    public boolean hasRuleConfiguration(final String schemaName) {
+        return 
!Strings.isNullOrEmpty(repository.get(node.getRulePath(schemaName)));
     }
     
     /**
@@ -381,10 +368,6 @@ public final class RegistryCenter {
     public void deleteSchema(final String schemaName) {
         repository.delete(node.getSchemaNamePath(schemaName));
     }
-
-    private boolean hasUsers() {
-        return !Strings.isNullOrEmpty(repository.get(node.getUsersNode()));
-    }
     
     /**
      * Persist data source disabled state.
@@ -595,7 +578,7 @@ public final class RegistryCenter {
      * Persist instance online.
      */
     public void persistInstanceOnline() {
-        
repository.persistEphemeral(node.getProxyNodePath(instance.getInstanceId()), 
"");
+        repository.persistEphemeral(node.getProxyNodePath(instanceId), "");
     }
     
     /**
@@ -618,7 +601,7 @@ public final class RegistryCenter {
      * @param instanceData instance data
      */
     public void persistInstanceData(final String instanceData) {
-        repository.persist(node.getProxyNodePath(instance.getInstanceId()), 
instanceData);
+        repository.persist(node.getProxyNodePath(instanceId), instanceData);
     }
     
     /**
@@ -627,7 +610,7 @@ public final class RegistryCenter {
      * @return instance data
      */
     public String loadInstanceData() {
-        return repository.get(node.getProxyNodePath(instance.getInstanceId()));
+        return repository.get(node.getProxyNodePath(instanceId));
     }
     
     /**
@@ -658,11 +641,6 @@ public final class RegistryCenter {
         return repository.get(node.getDataSourcePath(schemaName, 
dataSourceName));
     }
     
-    private void initLockNode() {
-        repository.persist(lockNode.getLockRootNodePath(), "");
-        repository.persist(lockNode.getLockedAckRootNodePah(), "");
-    }
-    
     /**
      * Try to get lock.
      *
@@ -689,7 +667,7 @@ public final class RegistryCenter {
      * @param lockName lock name
      */
     public void ackLock(final String lockName) {
-        
repository.persistEphemeral(lockNode.getLockedAckNodePath(Joiner.on("-").join(instance.getInstanceId(),
 lockName)), LockAck.LOCKED.getValue());
+        
repository.persistEphemeral(lockNode.getLockedAckNodePath(Joiner.on("-").join(instanceId,
 lockName)), LockAck.LOCKED.getValue());
     }
     
     /**
@@ -698,7 +676,7 @@ public final class RegistryCenter {
      * @param lockName lock name
      */
     public void ackUnlock(final String lockName) {
-        
repository.persistEphemeral(lockNode.getLockedAckNodePath(Joiner.on("-").join(instance.getInstanceId(),
 lockName)), LockAck.UNLOCKED.getValue());
+        
repository.persistEphemeral(lockNode.getLockedAckNodePath(Joiner.on("-").join(instanceId,
 lockName)), LockAck.UNLOCKED.getValue());
     }
     
     /**
@@ -707,7 +685,7 @@ public final class RegistryCenter {
      * @param lockName lock name
      */
     public void deleteLockAck(final String lockName) {
-        
repository.delete(lockNode.getLockedAckNodePath(Joiner.on("-").join(instance.getInstanceId(),
 lockName)));
+        
repository.delete(lockNode.getLockedAckNodePath(Joiner.on("-").join(instanceId, 
lockName)));
     }
     
     /**
diff --git 
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNode.java
 
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNode.java
index c3e8fd0..6810a53 100644
--- 
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNode.java
+++ 
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNode.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.governance.core.registry;
 import com.google.common.base.Joiner;
 import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
-import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.governance.core.registry.schema.GovernanceSchema;
 
 import java.util.ArrayList;
@@ -34,7 +33,6 @@ import java.util.stream.Collectors;
 /**
  * Registry center node.
  */
-@RequiredArgsConstructor
 public final class RegistryCenterNode {
     
     private static final String ROOT = "states";
diff --git 
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/instance/GovernanceInstance.java
 
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/instance/GovernanceInstance.java
index 94fe902..3e6127e 100644
--- 
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/instance/GovernanceInstance.java
+++ 
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/instance/GovernanceInstance.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.governance.core.registry.instance;
 
-import com.google.common.base.Joiner;
+import lombok.Getter;
 import org.apache.shardingsphere.governance.core.utils.IpUtils;
 
 import java.lang.management.ManagementFactory;
@@ -26,25 +26,17 @@ import java.util.UUID;
 /**
  * Governance instance.
  */
+@Getter
 public final class GovernanceInstance {
     
     private static final String DELIMITER = "@";
     
     private static final GovernanceInstance INSTANCE = new 
GovernanceInstance();
     
-    private final String instanceId;
+    private final String id;
     
     private GovernanceInstance() {
-        instanceId = Joiner.on(DELIMITER).join(IpUtils.getIp(), 
ManagementFactory.getRuntimeMXBean().getName().split(DELIMITER)[0], 
UUID.randomUUID().toString());
-    }
-    
-    /**
-     * Getter for instance ID.
-     *
-     * @return  instance ID
-     */
-    public String getInstanceId() {
-        return instanceId;
+        id = String.join(DELIMITER, IpUtils.getIp(), 
ManagementFactory.getRuntimeMXBean().getName().split(DELIMITER)[0], 
UUID.randomUUID().toString());
     }
     
     /**
diff --git 
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/TerminalStateChangedListener.java
 
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/TerminalStateChangedListener.java
index b73d3f0..a392fc2 100644
--- 
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/TerminalStateChangedListener.java
+++ 
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/TerminalStateChangedListener.java
@@ -35,7 +35,7 @@ import java.util.Optional;
 public final class TerminalStateChangedListener extends 
PostGovernanceRepositoryEventListener<StateEvent> {
     
     public TerminalStateChangedListener(final RegistryCenterRepository 
registryCenterRepository) {
-        super(registryCenterRepository, Collections.singleton(new 
RegistryCenterNode().getProxyNodePath(GovernanceInstance.getInstance().getInstanceId())));
+        super(registryCenterRepository, Collections.singleton(new 
RegistryCenterNode().getProxyNodePath(GovernanceInstance.getInstance().getId())));
     }
     
     @Override
diff --git 
a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
 
b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
index 48d5b67..196d8b6 100644
--- 
a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
+++ 
b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
@@ -482,16 +482,6 @@ public final class RegistryCenterTest {
     }
     
     @Test
-    public void assertLoadUsers() {
-        
when(registryCenterRepository.get("/users")).thenReturn(readYAML(USERS_YAML));
-        RegistryCenter registryCenter = new 
RegistryCenter(registryCenterRepository);
-        Collection<ShardingSphereUser> actual = registryCenter.loadUsers();
-        Optional<ShardingSphereUser> user = actual.stream().filter(each -> 
each.getGrantee().equals(new Grantee("root1", ""))).findFirst();
-        assertTrue(user.isPresent());
-        assertThat(user.get().getPassword(), is("root1"));
-    }
-    
-    @Test
     public void assertLoadProperties() {
         when(registryCenterRepository.get("/props")).thenReturn(PROPS_YAML);
         RegistryCenter registryCenter = new 
RegistryCenter(registryCenterRepository);
@@ -519,10 +509,10 @@ public final class RegistryCenterTest {
     }
     
     @Test
-    public void assertGetAllSchemaNames() {
+    public void assertLoadAllSchemaNames() {
         
when(registryCenterRepository.get("/metadata")).thenReturn("sharding_db,replica_query_db");
         RegistryCenter registryCenter = new 
RegistryCenter(registryCenterRepository);
-        Collection<String> actual = registryCenter.getAllSchemaNames();
+        Collection<String> actual = registryCenter.loadAllSchemaNames();
         assertThat(actual.size(), is(2));
         assertThat(actual, hasItems("sharding_db"));
         assertThat(actual, hasItems("replica_query_db"));
diff --git 
a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/instance/GovernanceInstanceTest.java
 
b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/instance/GovernanceInstanceTest.java
new file mode 100644
index 0000000..01c0949
--- /dev/null
+++ 
b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/instance/GovernanceInstanceTest.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.governance.core.registry.instance;
+
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+public final class GovernanceInstanceTest {
+    
+    @Test
+    public void assertGetId() {
+        String id = GovernanceInstance.getInstance().getId();
+        assertThat(id.split("@").length, is(3));
+    }
+}
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
index b40bc04..43f0439 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
@@ -95,7 +95,7 @@ public final class GovernanceBootstrapInitializer extends 
AbstractBootstrapIniti
     }
     
     private ProxyConfiguration loadProxyConfiguration() {
-        Collection<String> schemaNames = 
governanceFacade.getRegistryCenter().getAllSchemaNames();
+        Collection<String> schemaNames = 
governanceFacade.getRegistryCenter().loadAllSchemaNames();
         Map<String, Map<String, DataSourceParameter>> schemaDataSources = 
loadDataSourceParametersMap(schemaNames);
         Map<String, Collection<RuleConfiguration>> schemaRules = 
loadSchemaRules(schemaNames);
         Properties props = 
governanceFacade.getRegistryCenter().loadProperties();

Reply via email to