You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by ra...@apache.org on 2021/09/03 02:39:52 UTC

[dubbo-admin] branch develop updated: Fix generic invoke fail (#810)

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

ranke pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/dubbo-admin.git


The following commit(s) were added to refs/heads/develop by this push:
     new e734f9c  Fix generic invoke fail (#810)
e734f9c is described below

commit e734f9c5c7e82ec99e44db840f0c2d058609a9c0
Author: haoyann <10...@qq.com>
AuthorDate: Fri Sep 3 10:39:47 2021 +0800

    Fix generic invoke fail (#810)
    
    * fix generic invoke fail
    
    * fix ci
---
 .../dubbo/admin/common/util/ServiceTestV3Util.java |  2 +-
 .../apache/dubbo/admin/config/ConfigCenter.java    | 42 ++++++++++++++++++++--
 pom.xml                                            |  2 +-
 3 files changed, 41 insertions(+), 5 deletions(-)

diff --git a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/ServiceTestV3Util.java b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/ServiceTestV3Util.java
index 63e294f..7780434 100644
--- a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/ServiceTestV3Util.java
+++ b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/ServiceTestV3Util.java
@@ -91,7 +91,7 @@ public class ServiceTestV3Util {
 
     private static TypeDefinition findTypeDefinition(ServiceDefinition serviceDefinition, String type) {
         return serviceDefinition.getTypes().stream()
-                .filter(t -> t.getType().equals(type))
+                .filter(t -> type.equals(t.getType()))
                 .findFirst().orElse(new TypeDefinition(type));
     }
 
diff --git a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java
index f8e6f68..1f231d9 100644
--- a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java
+++ b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java
@@ -18,6 +18,7 @@
 package org.apache.dubbo.admin.config;
 
 import org.apache.commons.lang3.StringUtils;
+
 import org.apache.dubbo.admin.common.exception.ConfigurationException;
 import org.apache.dubbo.admin.common.util.Constants;
 import org.apache.dubbo.admin.registry.config.GovernanceConfiguration;
@@ -26,6 +27,7 @@ import org.apache.dubbo.admin.registry.mapping.impl.NoOpServiceMapping;
 import org.apache.dubbo.admin.registry.metadata.MetaDataCollector;
 import org.apache.dubbo.admin.registry.metadata.impl.NoOpMetadataCollector;
 import org.apache.dubbo.common.URL;
+import org.apache.dubbo.common.config.Environment;
 import org.apache.dubbo.common.extension.ExtensionLoader;
 import org.apache.dubbo.common.logger.Logger;
 import org.apache.dubbo.common.logger.LoggerFactory;
@@ -35,6 +37,8 @@ import org.apache.dubbo.registry.RegistryFactory;
 import org.apache.dubbo.registry.RegistryService;
 import org.apache.dubbo.registry.client.ServiceDiscovery;
 import org.apache.dubbo.registry.client.ServiceDiscoveryFactory;
+import org.apache.dubbo.rpc.model.ApplicationModel;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
@@ -42,6 +46,10 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.DependsOn;
 
 import java.util.Arrays;
+import java.util.Collections;
+import java.util.Map;
+import java.util.SortedMap;
+import java.util.TreeMap;
 
 import static org.apache.dubbo.common.constants.CommonConstants.CLUSTER_KEY;
 import static org.apache.dubbo.registry.client.ServiceDiscoveryFactory.getExtension;
@@ -50,7 +58,6 @@ import static org.apache.dubbo.registry.client.ServiceDiscoveryFactory.getExtens
 public class ConfigCenter {
 
 
-
     //centers in dubbo 2.7
     @Value("${admin.config-center:}")
     private String configCenter;
@@ -111,7 +118,7 @@ public class ConfigCenter {
             String config = dynamicConfiguration.getConfig(Constants.GLOBAL_CONFIG_PATH);
 
             if (StringUtils.isNotEmpty(config)) {
-                Arrays.stream(config.split("\n")).forEach( s -> {
+                Arrays.stream(config.split("\n")).forEach(s -> {
                     if (s.startsWith(Constants.REGISTRY_ADDRESS)) {
                         String registryAddress = removerConfigKey(s);
                         registryUrl = formUrl(registryAddress, registryGroup, registryNameSpace, username, password);
@@ -133,9 +140,38 @@ public class ConfigCenter {
                 //throw exception
             }
         }
+        initDubboEnvironment();
         return dynamicConfiguration;
     }
 
+    private void initDubboEnvironment() {
+        Environment env = ApplicationModel.getEnvironment();
+        SortedMap<String, String> sortedMap = new TreeMap<>();
+        if (registryUrl == null) {
+            if (StringUtils.isNotBlank(registryAddress)) {
+                registryUrl = formUrl(registryAddress, registryGroup, registryNameSpace, username, password);
+            }
+        }
+
+        if (metadataUrl == null) {
+            if (StringUtils.isNotEmpty(metadataAddress)) {
+                metadataUrl = formUrl(metadataAddress, metadataGroup, metadataGroupNameSpace, username, password);
+                metadataUrl = metadataUrl.addParameter(CLUSTER_KEY, cluster);
+            }
+        }
+        if (registryUrl != null) {
+            sortedMap.put("dubbo.registry.address", registryUrl.toFullString());
+        }
+        if (configCenterUrl != null) {
+            sortedMap.put("dubbo.config-center.address", configCenterUrl.toFullString());
+        }
+        if (metadataUrl != null) {
+            sortedMap.put("dubbo.metadata-report.address", metadataUrl.toFullString());
+        }
+        Map<String, String> map = Collections.unmodifiableSortedMap(sortedMap);
+        env.updateAppConfigMap(map);
+    }
+
     /*
      * generate registry client
      */
@@ -200,7 +236,7 @@ public class ConfigCenter {
         serviceMapping.init(metadataUrl);
         return serviceMapping;
     }
-  
+
     public static String removerConfigKey(String properties) {
         String[] split = properties.split("=");
         String[] address = new String[split.length - 1];
diff --git a/pom.xml b/pom.xml
index b55697b..573085b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -56,7 +56,7 @@
 		<revision>0.3.0</revision>
 		<main.basedir>${project.basedir}</main.basedir>
 		<commons-lang3-version>3.7</commons-lang3-version>
-		<dubbo-version>3.0.2</dubbo-version>
+		<dubbo-version>3.0.2.1</dubbo-version>
 		<fastjson-version>1.2.67</fastjson-version>
 		<springfox-swagger-version>2.9.2</springfox-swagger-version>
 		<jacoco-version>0.8.2</jacoco-version>