This is an automated email from the ASF dual-hosted git repository. liujun pushed a commit to branch cloud-native in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit 19c5babb97da3642dd8e02c25649e2e192d0f7ad Author: ken.lj <[email protected]> AuthorDate: Sat Jul 27 13:56:41 2019 +0800 solve conflicts and errors after merged master --- .../org/apache/dubbo/bootstrap/DubboBootstrap.java | 34 ++++++++++++---------- .../apache/dubbo/common/config/Environment.java | 10 +++---- .../config/configcenter/DynamicConfiguration.java | 6 ++-- .../wrapper/CompositeDynamicConfiguration.java | 18 ++++++++---- .../apache/dubbo/config/ConfigCenterConfig.java | 4 --- .../consul/ConsulDynamicConfiguration.java | 2 -- .../zookeeper/ZookeeperDynamicConfiguration.java | 5 +++- .../ZookeeperDynamicConfigurationTest.java | 2 +- .../report/support/AbstractMetadataReport.java | 4 +-- dubbo-metadata/pom.xml | 3 +- .../integration/AbstractConfiguratorListener.java | 4 +++ .../dubbo/registry/nacos/NacosRegistryFactory.java | 2 -- .../nacos/util/NacosNamingServiceUtils.java | 2 +- 13 files changed, 51 insertions(+), 45 deletions(-) diff --git a/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java b/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java index d20e3e0..5d69982 100644 --- a/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java +++ b/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java @@ -75,6 +75,7 @@ import static java.util.concurrent.Executors.newSingleThreadExecutor; import static org.apache.dubbo.common.config.ConfigurationUtils.parseProperties; import static org.apache.dubbo.common.constants.CommonConstants.APPLICATION_KEY; import static org.apache.dubbo.registry.support.AbstractRegistryFactory.getRegistries; +import static org.apache.dubbo.remoting.Constants.CLIENT_KEY; /** * The bootstrap class of Dubbo @@ -328,20 +329,21 @@ public class DubboBootstrap { ConfigManager configManager = ConfigManager.getInstance(); configManager.getDefaultRegistries().ifPresent(registryConfigs -> { for (RegistryConfig registryConfig : registryConfigs) { - if (registryConfig != null && registryConfig.isZookeeperProtocol()) { - // we use the loading status of DynamicConfiguration to decide whether ConfigCenter has been initiated. - Environment.getInstance().getDynamicConfiguration().orElseGet(() -> { - Set<ConfigCenterConfig> configCenters = configManager.getConfigCenters(); - if (CollectionUtils.isEmpty(configCenters)) { - ConfigCenterConfig cc = new ConfigCenterConfig(); - cc.setProtocol(registryConfig.getProtocol()); - cc.setAddress(registryConfig.getAddress()); - cc.setHighestPriority(false); - configManager.addConfigCenter(cc); - } - return null; - }); - } + // we use the loading status of DynamicConfiguration to decide whether ConfigCenter has been initiated. + Environment.getInstance().getDynamicConfiguration().orElseGet(() -> { + Set<ConfigCenterConfig> configCenters = configManager.getConfigCenters(); + if (CollectionUtils.isEmpty(configCenters)) { + ConfigCenterConfig cc = new ConfigCenterConfig(); + cc.setParameters(registryConfig.getParameters() == null ? new HashMap<>() : registryConfig.getParameters()); + cc.getParameters().put(CLIENT_KEY,registryConfig.getClient()); + cc.setProtocol(registryConfig.getProtocol()); + cc.setAddress(registryConfig.getAddress()); + cc.setNamespace(registryConfig.getGroup()); + cc.setHighestPriority(false); + configManager.addConfigCenter(cc); + } + return null; + }); } startConfigCenter(); }); @@ -531,12 +533,12 @@ public class DubboBootstrap { return null; } DynamicConfiguration dynamicConfiguration = getDynamicConfiguration(configCenter.toUrl()); - String configContent = dynamicConfiguration.getConfigs(configCenter.getConfigFile(), configCenter.getGroup()); + String configContent = dynamicConfiguration.getProperties(configCenter.getConfigFile(), configCenter.getGroup()); String appGroup = ConfigManager.getInstance().getApplication().orElse(new ApplicationConfig()).getName(); String appConfigContent = null; if (StringUtils.isNotEmpty(appGroup)) { - appConfigContent = dynamicConfiguration.getConfigs + appConfigContent = dynamicConfiguration.getProperties (StringUtils.isNotEmpty(configCenter.getAppConfigFile()) ? configCenter.getAppConfigFile() : configCenter.getConfigFile(), appGroup ); diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/config/Environment.java b/dubbo-common/src/main/java/org/apache/dubbo/common/config/Environment.java index 372d5cb..821b1c8 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/config/Environment.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/config/Environment.java @@ -16,6 +16,7 @@ */ package org.apache.dubbo.common.config; +import org.apache.dubbo.common.config.configcenter.DynamicConfiguration; import org.apache.dubbo.common.constants.CommonConstants; import org.apache.dubbo.common.utils.StringUtils; @@ -41,10 +42,7 @@ public class Environment { private boolean configCenterFirst = true; - /** - * FIXME, this instance will always be a type of DynamicConfiguration, ConfigCenterConfig will load the instance at startup and assign it to here. - */ - private Configuration dynamicConfiguration; + private DynamicConfiguration dynamicConfiguration; public static Environment getInstance() { return INSTANCE; @@ -153,11 +151,11 @@ public class Environment { this.configCenterFirst = configCenterFirst; } - public Optional<Configuration> getDynamicConfiguration() { + public Optional<DynamicConfiguration> getDynamicConfiguration() { return Optional.ofNullable(dynamicConfiguration); } - public void setDynamicConfiguration(Configuration dynamicConfiguration) { + public void setDynamicConfiguration(DynamicConfiguration dynamicConfiguration) { this.dynamicConfiguration = dynamicConfiguration; } diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/DynamicConfiguration.java b/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/DynamicConfiguration.java index 239208f..51e7013 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/DynamicConfiguration.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/DynamicConfiguration.java @@ -174,7 +174,7 @@ public interface DynamicConfiguration extends Configuration { IllegalStateException { SortedMap<String, String> configs = new TreeMap<>(); SortedSet<String> configKeys = getConfigKeys(group); - configKeys.forEach(key -> configs.put(key, getConfig(key, group, timeout))); + configKeys.forEach(key -> configs.put(key, getString(key))); return Collections.unmodifiableSortedMap(configs); } @@ -184,8 +184,8 @@ public interface DynamicConfiguration extends Configuration { * @return DynamicConfiguration instance */ static DynamicConfiguration getDynamicConfiguration() { - Optional<Configuration> optional = Environment.getInstance().getDynamicConfiguration(); - return (DynamicConfiguration) optional.orElseGet(() -> getExtensionLoader(DynamicConfigurationFactory.class) + Optional<DynamicConfiguration> optional = Environment.getInstance().getDynamicConfiguration(); + return optional.orElseGet(() -> getExtensionLoader(DynamicConfigurationFactory.class) .getDefaultExtension() .getDynamicConfiguration(null)); } diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/wrapper/CompositeDynamicConfiguration.java b/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/wrapper/CompositeDynamicConfiguration.java index 7f98d38..5d8d34a 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/wrapper/CompositeDynamicConfiguration.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/wrapper/CompositeDynamicConfiguration.java @@ -50,13 +50,13 @@ public class CompositeDynamicConfiguration implements DynamicConfiguration { } @Override - public String getConfig(String key, String group, long timeout) throws IllegalStateException { - return (String) iterateConfigOperation(configuration -> configuration.getConfig(key, group, timeout)); + public String getRule(String key, String group, long timeout) throws IllegalStateException { + return (String) iterateConfigOperation(configuration -> configuration.getRule(key, group, timeout)); } @Override - public String getConfigs(String key, String group, long timeout) throws IllegalStateException { - return (String) iterateConfigOperation(configuration -> configuration.getConfigs(key, group, timeout)); + public String getProperties(String key, String group, long timeout) throws IllegalStateException { + return (String) iterateConfigOperation(configuration -> configuration.getProperties(key, group, timeout)); } @Override @@ -66,15 +66,23 @@ public class CompositeDynamicConfiguration implements DynamicConfiguration { @Override public boolean publishConfig(String key, String group, String content) throws UnsupportedOperationException { - return (boolean) iterateConfigOperation(configuration -> configuration.publishConfig(key, group, content)); + boolean publishedAll = true; + for (DynamicConfiguration configuration : configurations) { + if (!configuration.publishConfig(key, group, content)) { + publishedAll = false; + } + } + return publishedAll; } @Override + @SuppressWarnings("unchecked") public SortedSet<String> getConfigKeys(String group) throws UnsupportedOperationException { return (SortedSet<String>) iterateConfigOperation(configuration -> configuration.getConfigKeys(group)); } @Override + @SuppressWarnings("unchecked") public SortedMap<String, String> getConfigs(String group) throws UnsupportedOperationException { return (SortedMap<String, String>) iterateConfigOperation(configuration -> configuration.getConfigs(group)); } diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java index 20b391f..a191e05 100644 --- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java +++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java @@ -38,10 +38,6 @@ import static org.apache.dubbo.config.Constants.CONFIG_CONFIGFILE_KEY; import static org.apache.dubbo.config.Constants.CONFIG_ENABLE_KEY; import static org.apache.dubbo.config.Constants.CONFIG_TIMEOUT_KEY; import static org.apache.dubbo.config.Constants.ZOOKEEPER_PROTOCOL; -import static org.apache.dubbo.configcenter.Constants.CONFIG_CHECK_KEY; -import static org.apache.dubbo.configcenter.Constants.CONFIG_CLUSTER_KEY; -import static org.apache.dubbo.configcenter.Constants.CONFIG_GROUP_KEY; -import static org.apache.dubbo.configcenter.Constants.CONFIG_NAMESPACE_KEY; /** * ConfigCenterConfig diff --git a/dubbo-configcenter/dubbo-configcenter-consul/src/main/java/org/apache/dubbo/configcenter/consul/ConsulDynamicConfiguration.java b/dubbo-configcenter/dubbo-configcenter-consul/src/main/java/org/apache/dubbo/configcenter/consul/ConsulDynamicConfiguration.java index 26f9cac..b098ffa 100644 --- a/dubbo-configcenter/dubbo-configcenter-consul/src/main/java/org/apache/dubbo/configcenter/consul/ConsulDynamicConfiguration.java +++ b/dubbo-configcenter/dubbo-configcenter-consul/src/main/java/org/apache/dubbo/configcenter/consul/ConsulDynamicConfiguration.java @@ -42,8 +42,6 @@ import static java.util.concurrent.Executors.newCachedThreadPool; import static org.apache.dubbo.common.config.configcenter.ConfigChangeType.ADDED; import static org.apache.dubbo.common.config.configcenter.Constants.CONFIG_NAMESPACE_KEY; import static org.apache.dubbo.common.constants.CommonConstants.PATH_SEPARATOR; -import static org.apache.dubbo.configcenter.ConfigChangeType.ADDED; -import static org.apache.dubbo.configcenter.Constants.CONFIG_NAMESPACE_KEY; /** * config center implementation for consul diff --git a/dubbo-configcenter/dubbo-configcenter-zookeeper/src/main/java/org/apache/dubbo/configcenter/support/zookeeper/ZookeeperDynamicConfiguration.java b/dubbo-configcenter/dubbo-configcenter-zookeeper/src/main/java/org/apache/dubbo/configcenter/support/zookeeper/ZookeeperDynamicConfiguration.java index 2dd32fc..7010ab4 100644 --- a/dubbo-configcenter/dubbo-configcenter-zookeeper/src/main/java/org/apache/dubbo/configcenter/support/zookeeper/ZookeeperDynamicConfiguration.java +++ b/dubbo-configcenter/dubbo-configcenter-zookeeper/src/main/java/org/apache/dubbo/configcenter/support/zookeeper/ZookeeperDynamicConfiguration.java @@ -35,8 +35,11 @@ import java.util.concurrent.Executor; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; +import static java.util.Collections.emptySortedSet; +import static java.util.Collections.unmodifiableSortedSet; +import static org.apache.dubbo.common.config.configcenter.Constants.CONFIG_NAMESPACE_KEY; import static org.apache.dubbo.common.constants.CommonConstants.PATH_SEPARATOR; -import static org.apache.dubbo.configcenter.Constants.CONFIG_NAMESPACE_KEY; +import static org.apache.dubbo.common.utils.CollectionUtils.isEmpty; /** * diff --git a/dubbo-configcenter/dubbo-configcenter-zookeeper/src/test/java/org/apache/dubbo/configcenter/support/zookeeper/ZookeeperDynamicConfigurationTest.java b/dubbo-configcenter/dubbo-configcenter-zookeeper/src/test/java/org/apache/dubbo/configcenter/support/zookeeper/ZookeeperDynamicConfigurationTest.java index 86c6ec4..0d8b4d4 100644 --- a/dubbo-configcenter/dubbo-configcenter-zookeeper/src/test/java/org/apache/dubbo/configcenter/support/zookeeper/ZookeeperDynamicConfigurationTest.java +++ b/dubbo-configcenter/dubbo-configcenter-zookeeper/src/test/java/org/apache/dubbo/configcenter/support/zookeeper/ZookeeperDynamicConfigurationTest.java @@ -134,7 +134,7 @@ public class ZookeeperDynamicConfigurationTest { String content = "test"; assertTrue(configuration.publishConfig(key, group, content)); - assertEquals("test", configuration.getConfigs(key, group)); + assertEquals("test", configuration.getProperties(key, group)); } @Test diff --git a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/report/support/AbstractMetadataReport.java b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/report/support/AbstractMetadataReport.java index 66204d1..a64c887 100644 --- a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/report/support/AbstractMetadataReport.java +++ b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/report/support/AbstractMetadataReport.java @@ -192,9 +192,9 @@ public abstract class AbstractMetadataReport implements MetadataReport { try { if (add) { - properties.setProperty(metadataIdentifier.getUniqueKey(KeyTypeEnum.UNIQUE_KEY), value); + properties.setProperty(metadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY), value); } else { - properties.remove(metadataIdentifier.getUniqueKey(KeyTypeEnum.UNIQUE_KEY)); + properties.remove(metadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY)); } long version = lastCacheChanged.incrementAndGet(); if (sync) { diff --git a/dubbo-metadata/pom.xml b/dubbo-metadata/pom.xml index 9f09ca5..36cc61a 100644 --- a/dubbo-metadata/pom.xml +++ b/dubbo-metadata/pom.xml @@ -31,8 +31,7 @@ <module>dubbo-metadata-api</module> <module>dubbo-metadata-report-zookeeper</module> <module>dubbo-metadata-report-redis</module> - <module>dubbo-metadata-definition</module> - <module>dubbo-metadata-definition-protobuf</module> +<!-- <module>dubbo-metadata-definition-protobuf</module>--> <module>dubbo-metadata-report-consul</module> <module>dubbo-metadata-report-etcd</module> <module>dubbo-metadata-report-nacos</module> diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/AbstractConfiguratorListener.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/AbstractConfiguratorListener.java index 561ff12..308ca52 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/AbstractConfiguratorListener.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/AbstractConfiguratorListener.java @@ -16,6 +16,10 @@ */ package org.apache.dubbo.registry.integration; +import org.apache.dubbo.common.config.configcenter.ConfigChangeEvent; +import org.apache.dubbo.common.config.configcenter.ConfigChangeType; +import org.apache.dubbo.common.config.configcenter.ConfigurationListener; +import org.apache.dubbo.common.config.configcenter.DynamicConfiguration; import org.apache.dubbo.common.logger.Logger; import org.apache.dubbo.common.logger.LoggerFactory; import org.apache.dubbo.common.utils.StringUtils; diff --git a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistryFactory.java b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistryFactory.java index d1630ed..4c3bc5c 100644 --- a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistryFactory.java +++ b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistryFactory.java @@ -33,8 +33,6 @@ import static org.apache.dubbo.registry.nacos.util.NacosNamingServiceUtils.creat */ public class NacosRegistryFactory extends AbstractRegistryFactory { - private final Logger logger = LoggerFactory.getLogger(getClass()); - @Override protected Registry createRegistry(URL url) { return new NacosRegistry(url, createNamingService(url)); diff --git a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/util/NacosNamingServiceUtils.java b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/util/NacosNamingServiceUtils.java index 417f815..fd08d9e 100644 --- a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/util/NacosNamingServiceUtils.java +++ b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/util/NacosNamingServiceUtils.java @@ -18,6 +18,7 @@ package org.apache.dubbo.registry.nacos.util;/* import org.apache.dubbo.common.URL; import org.apache.dubbo.common.logger.Logger; import org.apache.dubbo.common.logger.LoggerFactory; +import org.apache.dubbo.common.utils.StringUtils; import org.apache.dubbo.registry.client.DefaultServiceInstance; import org.apache.dubbo.registry.client.ServiceInstance; @@ -25,7 +26,6 @@ import com.alibaba.nacos.api.NacosFactory; import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.naming.NamingService; import com.alibaba.nacos.api.naming.pojo.Instance; -import com.alibaba.nacos.client.naming.utils.StringUtils; import java.util.Properties;
