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

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


The following commit(s) were added to refs/heads/2.7.0-release by this push:
     new ec8a5b9  Merge pull request #3135 from beiwei30:registry-refresh-redo, 
avoid dup refresh for registry config.
ec8a5b9 is described below

commit ec8a5b929a7d3b53526847e0eba9ea542ca25f9c
Author: Ian Luo <[email protected]>
AuthorDate: Sun Jan 6 16:07:19 2019 +0800

    Merge pull request #3135 from beiwei30:registry-refresh-redo, avoid dup 
refresh for registry config.
    
    * avoid dup refresh for registry config
    
    * fix unit test
    
    * fix unit test, 
org.apache.dubbo.config.AbstractInterfaceConfig#convertRegistryIdsToRegistries 
generates invalid registry config
    
    * should not give RegistryConfig a default value 
'RegistryConfig.NO_AVAILABLE'
---
 .../src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java  | 1 -
 .../src/main/java/org/apache/dubbo/config/ReferenceConfig.java          | 1 +
 .../test/java/org/apache/dubbo/config/AbstractInterfaceConfigTest.java  | 2 ++
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git 
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
index 80ddcda..87cf709 100644
--- 
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
@@ -228,7 +228,6 @@ public abstract class AbstractInterfaceConfig extends 
AbstractMethodConfig {
      */
     protected List<URL> loadRegistries(boolean provider) {
         // check && override if necessary
-        checkRegistry();
         List<URL> registryList = new ArrayList<URL>();
         if (registries != null && !registries.isEmpty()) {
             for (RegistryConfig config : registries) {
diff --git 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
index 898f4e6..5dcf189 100644
--- 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
+++ 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
@@ -218,6 +218,7 @@ public class ReferenceConfig<T> extends 
AbstractReferenceConfig {
             inheritIfAbsentFromApplication();
         }
         checkApplication();
+        checkRegistry();
         checkMetadataReport();
     }
 
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/AbstractInterfaceConfigTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/AbstractInterfaceConfigTest.java
index 374d735..5f7b961 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/AbstractInterfaceConfigTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/AbstractInterfaceConfigTest.java
@@ -118,6 +118,8 @@ public class AbstractInterfaceConfigTest {
     public void testLoadRegistries() throws Exception {
         System.setProperty("dubbo.registry.address", "addr1");
         InterfaceConfig interfaceConfig = new InterfaceConfig();
+        // FIXME: now we need to check first, then load
+        interfaceConfig.checkRegistry();
         List<URL> urls = interfaceConfig.loadRegistries(true);
         TestCase.assertEquals(1, urls.size());
         URL url = urls.get(0);

Reply via email to