Skip to content

Commit 0e7e3fc

Browse files
authored
#429 make EnvConfig enable (#433)
1 parent 5e67ca2 commit 0e7e3fc

File tree

3 files changed

+39
-9
lines changed

3 files changed

+39
-9
lines changed

spring-cloud-huawei-common/src/main/java/com/huaweicloud/common/util/URLUtil.java

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,14 @@
1919

2020
import java.util.ArrayList;
2121
import java.util.Arrays;
22+
import java.util.Collections;
2223
import java.util.List;
24+
import java.util.Objects;
25+
import java.util.stream.Collectors;
26+
2327
import org.apache.commons.configuration.EnvironmentConfiguration;
2428
import org.apache.commons.configuration.SystemConfiguration;
29+
import org.springframework.util.CollectionUtils;
2530
import org.springframework.util.StringUtils;
2631

2732
/**
@@ -148,13 +153,32 @@ public static List<String> getEnvServerURL() {
148153

149154
private static List<String> getEnvURL(String systemServer) {
150155
SystemConfiguration sysConfig = new SystemConfiguration();
156+
List<Object> result = sysConfig.getList(systemServer);
157+
158+
if (!CollectionUtils.isEmpty(result)) {
159+
return toStringList(result);
160+
}
161+
151162
EnvironmentConfiguration envConfig = new EnvironmentConfiguration();
152-
String sysURL = sysConfig.getString(systemServer);
153-
String envURL = envConfig.getString(systemServer);
154-
if (StringUtils.isEmpty(sysURL) && StringUtils.isEmpty(envURL)) {
155-
sysURL = sysConfig.getString(SYSTEM_KEY_BOTH);
156-
envURL = envConfig.getString(SYSTEM_KEY_BOTH);
163+
result = envConfig.getList(systemServer);
164+
if (!CollectionUtils.isEmpty(result)) {
165+
return toStringList(result);
166+
}
167+
168+
result = sysConfig.getList(SYSTEM_KEY_BOTH);
169+
if (!CollectionUtils.isEmpty(result)) {
170+
return toStringList(result);
157171
}
158-
return StringUtils.isEmpty(sysURL) ? dealMultiUrl(envURL) : dealMultiUrl(sysURL);
172+
173+
result = envConfig.getList(SYSTEM_KEY_BOTH);
174+
if (!CollectionUtils.isEmpty(result)) {
175+
return toStringList(result);
176+
}
177+
178+
return Collections.emptyList();
179+
}
180+
181+
private static List<String> toStringList(List<Object> list) {
182+
return list.stream().map(obj -> Objects.toString(obj, null)).collect(Collectors.toList());
159183
}
160184
}

spring-cloud-huawei-config/src/main/java/com/huaweicloud/config/ServiceCombConfigProperties.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package com.huaweicloud.config;
1919

20+
import com.huaweicloud.common.util.URLUtil;
2021
import org.springframework.beans.factory.annotation.Value;
2122
import org.springframework.boot.context.properties.ConfigurationProperties;
2223
import org.springframework.stereotype.Component;
@@ -71,7 +72,8 @@ public void setFileSource(String fileSource) {
7172
}
7273

7374
public String getDiscoveryAddress() {
74-
return discoveryAddress;
75+
String url = org.apache.commons.lang3.StringUtils.join(URLUtil.getEnvServerURL(), ",");
76+
return url.isEmpty() ? discoveryAddress : url;
7577
}
7678

7779
public void setDiscoveryAddress(String discoveryAddress) {
@@ -99,7 +101,8 @@ public void setEnabled(boolean enabled) {
99101
}
100102

101103
public String getServerAddr() {
102-
return serverAddr;
104+
String url = org.apache.commons.lang3.StringUtils.join(URLUtil.getEnvConfigUrl(), ",");
105+
return url.isEmpty() ? serverAddr : url;
103106
}
104107

105108
public void setServerAddr(String serverAddr) {

spring-cloud-huawei-servicecomb-discovery/src/main/java/com/huaweicloud/servicecomb/discovery/discovery/ServiceCombDiscoveryProperties.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717

1818
package com.huaweicloud.servicecomb.discovery.discovery;
1919

20+
import com.huaweicloud.common.util.URLUtil;
2021
import com.huaweicloud.servicecomb.discovery.client.model.DataCenter;
2122

23+
import org.apache.commons.lang3.StringUtils;
2224
import org.springframework.beans.factory.annotation.Value;
2325
import org.springframework.boot.context.properties.ConfigurationProperties;
2426

@@ -109,7 +111,8 @@ public void setAppName(String appName) {
109111
}
110112

111113
public String getAddress() {
112-
return address;
114+
String url = StringUtils.join(URLUtil.getEnvServerURL(), ",");
115+
return url.isEmpty() ? address : url;
113116
}
114117

115118
public void setAddress(String address) {

0 commit comments

Comments
 (0)