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>