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