fix get url from config center (#796)
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 bedd84d..befc7a7 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
@@ -103,11 +103,11 @@
if (StringUtils.isNotEmpty(config)) {
Arrays.stream(config.split("\n")).forEach( s -> {
- if(s.startsWith(Constants.REGISTRY_ADDRESS)) {
- String registryAddress = s.split("=")[1].trim();
+ if (s.startsWith(Constants.REGISTRY_ADDRESS)) {
+ String registryAddress = removerConfigKey(s);
registryUrl = formUrl(registryAddress, registryGroup, registryNameSpace, username, password);
} else if (s.startsWith(Constants.METADATA_ADDRESS)) {
- metadataUrl = formUrl(s.split("=")[1].trim(), metadataGroup, metadataGroupNameSpace, username, password);
+ metadataUrl = formUrl(removerConfigKey(s), metadataGroup, metadataGroupNameSpace, username, password);
}
});
}
@@ -168,6 +168,13 @@
return metaDataCollector;
}
+ public static String removerConfigKey(String properties) {
+ String[] split = properties.split("=");
+ String[] address = new String[split.length - 1];
+ System.arraycopy(split, 1, address, 0, split.length - 1);
+ return String.join("=", address).trim();
+ }
+
private URL formUrl(String config, String group, String nameSpace, String username, String password) {
URL url = URL.valueOf(config);
if (StringUtils.isEmpty(url.getParameter(Constants.GROUP_KEY)) && StringUtils.isNotEmpty(group)) {