You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2018/11/22 09:30:06 UTC

[incubator-dubbo] 02/02: Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata

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

liujun pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git

commit 1e28f7a49980ad5ef5d373ed11d004de7d7082aa
Merge: 1bebd2d 7adf111
Author: ken.lj <ke...@gmail.com>
AuthorDate: Thu Nov 22 17:29:21 2018 +0800

    Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata

 .../java/org/apache/dubbo/common/Constants.java    |  18 ++-
 .../org/apache/dubbo/common/utils/ClassHelper.java |  55 ++++++++
 .../org/apache/dubbo/config/AbstractConfig.java    | 142 ++++++---------------
 .../dubbo/config/AbstractInterfaceConfig.java      |  18 ++-
 .../apache/dubbo/config/MetadataReportConfig.java  |  16 ++-
 .../apache/dubbo/config/RegistryDataConfig.java    |  35 +++--
 .../apache/dubbo/config/utils/ConfigConverter.java |  40 ------
 .../dubbo/configcenter/ConfigurationListener.java  |   5 -
 .../support/apollo/ApolloDynamicConfiguration.java |  73 +++++------
 .../archaius/ArchaiusDynamicConfiguration.java     |  40 +++---
 .../sources/ZooKeeperConfigurationSource.java      |  36 +++---
 .../metadata/identifier/MetadataIdentifier.java    |  13 +-
 .../metadata/support/AbstractMetadataReport.java   |  29 ++---
 .../store/test/JTestMetadataReport4Test.java       |   3 +-
 .../support/AbstractMetadataReportTest.java        |  20 +--
 .../store/redis/RedisMetadataReportTest.java       |   9 +-
 .../store/zookeeper/ZookeeperMetadataReport.java   |   2 +-
 .../zookeeper/ZookeeperMetadataReportTest.java     |   2 +-
 .../registry/integration/RegistryProtocol.java     |   5 -
 19 files changed, 263 insertions(+), 298 deletions(-)

diff --cc dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
index 43a327b,4395a71..91e226d
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
@@@ -552,15 -491,16 +491,17 @@@ public abstract class AbstractConfig im
              // loop methods, get override value and set the new value back to method
              Method[] methods = getClass().getMethods();
              for (Method method : methods) {
-                 if (isSetter(method)) {
+                 if (ClassHelper.isSetter(method)) {
                      try {
-                         String value = compositeConfiguration.getString(extractPropertyName(method));
+                         String value = compositeConfiguration.getString(extractPropertyName(getClass(), method));
 -                        if (value != null) {
 +                        // isTypeMatch() is called to avoid duplicate and incorrect update, for example, we have two 'setGeneric' methods in ReferenceConfig.
 +                        if (value != null && isTypeMatch(method.getParameterTypes()[0], value)) {
-                             method.invoke(this, convertPrimitive(method.getParameterTypes()[0], value));
+                             method.invoke(this, ClassHelper.convertPrimitive(method.getParameterTypes()[0], value));
                          }
                      } catch (NoSuchMethodException e) {
-                         logger.info("Failed to override the property " + method.getName() + " in " + this.getClass().getSimpleName() + ", please make sure every property has a getter/setter pair.");
+                         logger.info("Failed to override the property " + method.getName() + " in " +
+                                 this.getClass().getSimpleName() +
+                                 ", please make sure every property has getter/setter method provided.");
                      }
                  }
              }
diff --cc dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
index 5460861,0d484a7..69dfc2a
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
@@@ -229,10 -235,14 +236,11 @@@ public abstract class AbstractInterface
      protected List<URL> loadRegistries(boolean provider) {
          // check && override if necessary
          checkRegistry();
 +        checkRegistryDataConfig();
          List<URL> registryList = new ArrayList<URL>();
          if (registries != null && !registries.isEmpty()) {
-             Map<String, String> registryDataConfigurationMap = this.registryDataConfig.transferToMap();
+             Map<String, String> registryDataConfigurationMap = new HashMap<>(4);
+             appendParameters(registryDataConfigurationMap, registryDataConfig);
              for (RegistryConfig config : registries) {
                  String address = config.getAddress();
                  if (address == null || address.length() == 0) {