You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2025/03/14 07:51:37 UTC
(shardingsphere) branch master updated: Minor refactor for MetaDataImportExecutor and StandaloneContextManagerBuilder (#34990)
This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 e510edbe0f3 Minor refactor for MetaDataImportExecutor and StandaloneContextManagerBuilder (#34990)
e510edbe0f3 is described below
commit e510edbe0f3476ab5fbaaf9e8a89f2d693100dc8
Author: Zhengqiang Duan <du...@apache.org>
AuthorDate: Fri Mar 14 15:51:31 2025 +0800
Minor refactor for MetaDataImportExecutor and StandaloneContextManagerBuilder (#34990)
---
.../StandaloneContextManagerBuilder.java | 4 ++--
.../proxy/backend/util/MetaDataImportExecutor.java | 26 +++++++++++++---------
2 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
index 87ba37a632c..6f6a79c833d 100644
--- a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
+++ b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
@@ -43,10 +43,10 @@ public final class StandaloneContextManagerBuilder implements ContextManagerBuil
@Override
public ContextManager build(final ContextManagerBuilderParameter param, final EventBusContext eventBusContext) throws SQLException {
PersistRepositoryConfiguration repositoryConfig = param.getModeConfiguration().getRepository();
- StandalonePersistRepository repository = TypedSPILoader.getService(
- StandalonePersistRepository.class, null == repositoryConfig ? null : repositoryConfig.getType(), null == repositoryConfig ? new Properties() : repositoryConfig.getProps());
ComputeNodeInstanceContext computeNodeInstanceContext = new ComputeNodeInstanceContext(new ComputeNodeInstance(param.getInstanceMetaData()), param.getModeConfiguration(), eventBusContext);
computeNodeInstanceContext.init(new StandaloneWorkerIdGenerator(), new StandaloneLockContext());
+ StandalonePersistRepository repository = TypedSPILoader.getService(
+ StandalonePersistRepository.class, null == repositoryConfig ? null : repositoryConfig.getType(), null == repositoryConfig ? new Properties() : repositoryConfig.getProps());
MetaDataContexts metaDataContexts = new MetaDataContextsFactory(new MetaDataPersistFacade(repository), computeNodeInstanceContext).create(param);
return new ContextManager(metaDataContexts, computeNodeInstanceContext, repository);
}
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/MetaDataImportExecutor.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/MetaDataImportExecutor.java
index 8ecf5eea812..c7286e529b3 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/MetaDataImportExecutor.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/MetaDataImportExecutor.java
@@ -27,7 +27,9 @@ import org.apache.shardingsphere.proxy.backend.config.yaml.YamlProxyServerConfig
import org.apache.shardingsphere.proxy.backend.distsql.export.ExportedMetaData;
import java.util.Collection;
-import java.util.LinkedList;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Map.Entry;
/**
* Metadata import executor.
@@ -52,13 +54,13 @@ public final class MetaDataImportExecutor {
* @param exportedMetaData exported metadata
*/
public void importClusterConfigurations(final ExportedMetaData exportedMetaData) {
- Collection<YamlProxyDatabaseConfiguration> databaseConfigs = getYamlProxyDatabaseConfigurations(exportedMetaData);
- importServerConfiguration(exportedMetaData);
- importDatabaseConfigurations(databaseConfigs);
+ Map<String, YamlProxyDatabaseConfiguration> databaseConfigs = getYamlProxyDatabaseConfigurations(exportedMetaData);
+ YamlProxyServerConfiguration yamlServerConfig = getYamlServerConfig(exportedMetaData);
+ importServerConfiguration(yamlServerConfig);
+ importDatabaseConfigurations(databaseConfigs.values());
}
- private void importServerConfiguration(final ExportedMetaData exportedMetaData) {
- YamlProxyServerConfiguration yamlServerConfig = YamlEngine.unmarshal(exportedMetaData.getRules() + System.lineSeparator() + exportedMetaData.getProps(), YamlProxyServerConfiguration.class);
+ private void importServerConfiguration(final YamlProxyServerConfiguration yamlServerConfig) {
if (null == yamlServerConfig) {
return;
}
@@ -77,14 +79,18 @@ public final class MetaDataImportExecutor {
contextManager.getPersistServiceFacade().getModePersistServiceFacade().getMetaDataManagerPersistService().alterProperties(yamlServerConfig.getProps());
}
- private Collection<YamlProxyDatabaseConfiguration> getYamlProxyDatabaseConfigurations(final ExportedMetaData exportedMetaData) {
- Collection<YamlProxyDatabaseConfiguration> result = new LinkedList<>();
- for (String each : exportedMetaData.getDatabases().values()) {
- result.add(YamlEngine.unmarshal(each, YamlProxyDatabaseConfiguration.class));
+ private Map<String, YamlProxyDatabaseConfiguration> getYamlProxyDatabaseConfigurations(final ExportedMetaData exportedMetaData) {
+ Map<String, YamlProxyDatabaseConfiguration> result = new LinkedHashMap<>();
+ for (Entry<String, String> entry : exportedMetaData.getDatabases().entrySet()) {
+ result.put(entry.getKey(), YamlEngine.unmarshal(entry.getValue(), YamlProxyDatabaseConfiguration.class));
}
return result;
}
+ private YamlProxyServerConfiguration getYamlServerConfig(final ExportedMetaData exportedMetaData) {
+ return YamlEngine.unmarshal(exportedMetaData.getRules() + System.lineSeparator() + exportedMetaData.getProps(), YamlProxyServerConfiguration.class);
+ }
+
/**
* Import database configurations.
*