diff --git a/.github/workflows/junit_test.yml b/.github/workflows/junit_test.yml
index f2693c44f..35fed41eb 100644
--- a/.github/workflows/junit_test.yml
+++ b/.github/workflows/junit_test.yml
@@ -5,9 +5,9 @@ name: Test with Junit
on:
push:
- branches: [ 2020.0 ]
+ branches: [ 2021.0 ]
pull_request:
- branches: [ 2020.0 ]
+ branches: [ 2021.0 ]
jobs:
build:
diff --git a/pom.xml b/pom.xml
index f264e8646..689b0405a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-build
- 3.0.5
+ 3.1.2
4.0.0
@@ -86,13 +86,13 @@
- 1.4.3-2020.0.5
+ 1.4.3-2021.0.2-SNAPSHOT
- 2020.0.5
+ 2021.0.2
- 1.2.7
+ 1.2.11
0.8.3
diff --git a/spring-cloud-starter-tencent-metadata-transfer/pom.xml b/spring-cloud-starter-tencent-metadata-transfer/pom.xml
index dedcde313..3815d0029 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/pom.xml
+++ b/spring-cloud-starter-tencent-metadata-transfer/pom.xml
@@ -50,20 +50,6 @@
spring-cloud-starter-loadbalancer
test
-
-
-
- org.powermock
- powermock-module-junit4
- test
-
-
-
-
- org.powermock
- powermock-api-mockito2
- test
-
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptor.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptor.java
index 5be2ff2e9..1e1757931 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptor.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptor.java
@@ -19,6 +19,7 @@
package com.tencent.cloud.metadata.core;
import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Map;
@@ -60,9 +61,20 @@ public class EncodeTransferMedataFeignInterceptor implements RequestInterceptor,
if (!CollectionUtils.isEmpty(requestTemplate.headers())
&& !CollectionUtils.isEmpty(requestTemplate.headers().get(CUSTOM_METADATA))) {
for (String headerMetadataStr : requestTemplate.headers().get(CUSTOM_METADATA)) {
- Map headerMetadataMap = JacksonUtils.deserialize2Map(headerMetadataStr);
- for (String key : headerMetadataMap.keySet()) {
- metadataContext.putTransitiveCustomMetadata(key, headerMetadataMap.get(key));
+ try {
+ // Since feign-core 11.1, RequestTemplate Adapted to RFC6570, See: https://tools.ietf.org/html/rfc6570#section-2.2
+ // Feign ISSUES : https://github.com/OpenFeign/feign/pull/1203
+ // Feign ISSUES : https://github.com/OpenFeign/feign/issues/1305
+ // Fixed : If you used RequestTemplate#header(name,value) method , the value needs to be encoded using URLEncoder .
+ headerMetadataStr = URLDecoder.decode(headerMetadataStr, "UTF-8");
+ Map headerMetadataMap = JacksonUtils.deserialize2Map(headerMetadataStr);
+ for (String key : headerMetadataMap.keySet()) {
+ metadataContext.putTransitiveCustomMetadata(key, headerMetadataMap.get(key));
+ }
+ }
+ catch (UnsupportedEncodingException e) {
+ LOG.error("Set header failed.", e);
+ throw new RuntimeException(e);
}
}
}
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/intercepter/EncodeTransferMedataFeignInterceptorTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/intercepter/EncodeTransferMedataFeignInterceptorTest.java
index 9709602b0..94d81eacb 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/intercepter/EncodeTransferMedataFeignInterceptorTest.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/intercepter/EncodeTransferMedataFeignInterceptorTest.java
@@ -20,6 +20,7 @@ package com.tencent.cloud.metadata.core.intercepter;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
+import java.net.URLEncoder;
import java.util.stream.Collectors;
import com.tencent.cloud.common.constant.MetadataConstant;
@@ -121,8 +122,17 @@ public class EncodeTransferMedataFeignInterceptorTest {
@Override
public void apply(RequestTemplate template) {
- template.header(MetadataConstant.HeaderName.CUSTOM_METADATA,
- "{\"a\":\"11\",\"b\":\"22\",\"c\":\"33\"}");
+ try {
+ // Since feign-core 11.1, RequestTemplate Adapted to RFC6570, See: https://tools.ietf.org/html/rfc6570#section-2.2
+ // Feign ISSUES : https://github.com/OpenFeign/feign/pull/1203
+ // Feign ISSUES : https://github.com/OpenFeign/feign/issues/1305
+ // Fixed : If you used RequestTemplate#header(name,value) method , the value needs to be encoded using URLEncoder .
+ template.header(MetadataConstant.HeaderName.CUSTOM_METADATA,
+ URLEncoder.encode("{\"a\":\"11\",\"b\":\"22\",\"c\":\"33\"}", "UTF-8"));
+ }
+ catch (UnsupportedEncodingException e) {
+ throw new RuntimeException(e);
+ }
}
}
diff --git a/spring-cloud-starter-tencent-polaris-discovery/pom.xml b/spring-cloud-starter-tencent-polaris-discovery/pom.xml
index 74101b71e..523ce1b32 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/pom.xml
+++ b/spring-cloud-starter-tencent-polaris-discovery/pom.xml
@@ -99,17 +99,5 @@
reactor-test
test
-
-
- org.powermock
- powermock-module-junit4
- test
-
-
-
- org.powermock
- powermock-api-mockito2
- test
-
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientTest.java
index 679815df1..62ee2415e 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientTest.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientTest.java
@@ -24,8 +24,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.cloud.client.ServiceInstance;
@@ -41,8 +40,7 @@ import static org.mockito.Mockito.when;
*
* @author Haotian Zhang
*/
-@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("javax.management.*")
+@RunWith(MockitoJUnitRunner.class)
public class PolarisDiscoveryClientTest {
@Mock
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientTest.java
index 1e142b2cd..187b6f0bf 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientTest.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientTest.java
@@ -25,8 +25,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.mockito.junit.MockitoJUnitRunner;
import reactor.core.publisher.Flux;
import reactor.test.StepVerifier;
@@ -41,8 +40,7 @@ import static org.mockito.Mockito.when;
*
* @author Haotian Zhang
*/
-@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("javax.management.*")
+@RunWith(MockitoJUnitRunner.class)
public class PolarisReactiveDiscoveryClientTest {
@Mock
diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/pom.xml b/spring-cloud-starter-tencent-polaris-ratelimit/pom.xml
index 1d4d42da7..3c2eb92cd 100644
--- a/spring-cloud-starter-tencent-polaris-ratelimit/pom.xml
+++ b/spring-cloud-starter-tencent-polaris-ratelimit/pom.xml
@@ -87,17 +87,5 @@
spring-boot-starter-test
test
-
-
- org.powermock
- powermock-module-junit4
- test
-
-
-
- org.powermock
- powermock-api-mockito2
- test
-
diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/ReflectionUtils.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/ReflectionUtils.java
index a1e0d67a2..6c4a3353e 100644
--- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/ReflectionUtils.java
+++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/ReflectionUtils.java
@@ -32,6 +32,9 @@ public final class ReflectionUtils {
public static Object getFieldValue(Object instance, String fieldName) {
Field field = org.springframework.util.ReflectionUtils.findField(instance.getClass(), fieldName);
+ if (field == null) {
+ return null;
+ }
field.setAccessible(true);
try {
diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataLocalPropertiesTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataLocalPropertiesTest.java
index 4b1192465..7469ce70e 100644
--- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataLocalPropertiesTest.java
+++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataLocalPropertiesTest.java
@@ -27,7 +27,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
/**
- * Test for {@link MetadataLocalProperties}
+ * Test for {@link MetadataLocalProperties} .
*
* @author Haotian Zhang
*/
diff --git a/spring-cloud-tencent-dependencies/pom.xml b/spring-cloud-tencent-dependencies/pom.xml
index 7608edfbd..94cdf4487 100644
--- a/spring-cloud-tencent-dependencies/pom.xml
+++ b/spring-cloud-tencent-dependencies/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-dependencies-parent
- 3.0.5
+ 3.1.2
4.0.0
@@ -70,9 +70,9 @@
- 1.4.3-2020.0.5
+ 1.4.3-2021.0.2-SNAPSHOT
1.5.2
- 2.0.0
+ 31.1-jre
3.2.0
@@ -145,18 +145,10 @@
${revision}
-
- org.powermock
- powermock-module-junit4
- ${powermock.version}
-
-
-
-
- org.powermock
- powermock-api-mockito2
- ${powermock.version}
+ com.google.guava
+ guava
+ ${guava.version}
diff --git a/spring-cloud-tencent-examples/polaris-gateway-example/README-zh.md b/spring-cloud-tencent-examples/polaris-gateway-example/README-zh.md
index 57148902e..ff4d480f3 100644
--- a/spring-cloud-tencent-examples/polaris-gateway-example/README-zh.md
+++ b/spring-cloud-tencent-examples/polaris-gateway-example/README-zh.md
@@ -4,7 +4,7 @@
本样例将介绍如何在Spring Cloud项目中使用```spring-cloud-tencent-polaris-gateway```以使用其各项功能。
-本样例包括```gateway-zuul-service```、```gateway-scg-service```和```gateway-callee-service```。```gateway-zuul-service```和```gateway-scg-service```调用```gateway-callee-service```。
+本样例包括 ```gateway-scg-service```和```gateway-callee-service```。```gateway-scg-service```调用```gateway-callee-service```。
## 使用说明
@@ -31,7 +31,7 @@ spring:
- IDEA启动
-分别启动```spring-cloud-tencent-examples/polaris-gateway-example/gateway-zuul-service```的```GatewayZuulService```、```spring-cloud-tencent-examples/polaris-gateway-example/gateway-scg-service```的```GatewayScgService```和```spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service```的```GatewayCalleeService```
+分别启动```spring-cloud-tencent-examples/polaris-gateway-example/gateway-scg-service```的```GatewayScgService```和```spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service```的```GatewayCalleeService```
- Maven打包启动
@@ -41,7 +41,7 @@ spring:
mvn clean package
```
-然后在```gateway-zuul-service```、```gateway-scg-service```和```gateway-callee-service```下找到生成的jar包,运行
+然后在 ```gateway-scg-service```和```gateway-callee-service```下找到生成的jar包,运行
```
java -jar ${app.jar}
@@ -51,18 +51,6 @@ java -jar ${app.jar}
### 验证
-#### Zuul调用
-
-```shell
-curl -L -X GET 'http://localhost:48082/GatewayCalleeService/gateway/example/callee/echo' -H 'SCT-CUSTOM-METADATA: {"b": 2}'
-```
-
-预期返回值
-
-```
-{"a":"1","b":2}
-```
-
#### Spring-Cloud-Gateway调用
```shell
diff --git a/spring-cloud-tencent-examples/polaris-gateway-example/README.md b/spring-cloud-tencent-examples/polaris-gateway-example/README.md
index 43bd680f6..4f33c625b 100644
--- a/spring-cloud-tencent-examples/polaris-gateway-example/README.md
+++ b/spring-cloud-tencent-examples/polaris-gateway-example/README.md
@@ -2,9 +2,9 @@
## Example Introduction
-This example shows how to use ```spring-cloud-tencent-polaris-gateway`` in Spring Cloud project for its features.
+This example shows how to use ```spring-cloud-tencent-polaris-gateway``` in Spring Cloud project for its features.
-This example contains ```gateway-zuul-service```, ```gateway-scg-service``` and ```gateway-callee-service```. ```gateway-zuul-service``` and ```gateway-scg-service``` invoke ```gateway-callee-service```.
+This example contains ```gateway-scg-service``` and ```gateway-callee-service```. ```gateway-scg-service``` invoke ```gateway-callee-service```.
## Instruction
@@ -31,7 +31,7 @@ Reference to [Polaris Getting Started](https://github.com/PolarisMesh/polaris#ge
- IDEA Launching
-Launching ```spring-cloud-tencent-examples/polaris-gateway-example/gateway-zuul-service```'s ```GatewayZuulService```, ```spring-cloud-tencent-examples/polaris-gateway-example/gateway-scg-service```'s ```GatewayScgService``` and ```spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service```'s ```GatewayCalleeService```
+Launching ```spring-cloud-tencent-examples/polaris-gateway-example/gateway-scg-service```'s ```GatewayScgService``` and ```spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service```'s ```GatewayCalleeService```
- Maven Package Launching
@@ -41,7 +41,7 @@ Execute under ```spring-cloud-tencent-examples/polaris-gateway-example```
mvn clean package
```
-Then find the jars under ```gateway-zuul-service```, ```gateway-scg-service``` and ```gateway-callee-service```, and run it:
+Then find the jars under ```gateway-scg-service``` and ```gateway-callee-service```, and run it:
```
java -jar ${app.jar}
@@ -51,18 +51,6 @@ Launch application, change ${app.jar} to jar's package name.
### Verify
-#### Zuul Invoke
-
-```shell
-curl -L -X GET 'http://localhost:48082/GatewayCalleeService/gateway/example/callee/echo' -H 'SCT-CUSTOM-METADATA: {"b": 2}'
-```
-
-Expected return rate
-
-```
-{"a":"1","b":2}
-```
-
#### Spring-Cloud-Gateway Invoke
```shell
diff --git a/spring-cloud-tencent-examples/polaris-ratelimit-example/README-zh.md b/spring-cloud-tencent-examples/polaris-ratelimit-example/README-zh.md
index b9c30ddfe..b03b1d1ed 100644
--- a/spring-cloud-tencent-examples/polaris-ratelimit-example/README-zh.md
+++ b/spring-cloud-tencent-examples/polaris-ratelimit-example/README-zh.md
@@ -43,10 +43,13 @@
4. 配置限流规则并验证
北极星提供了三个方式进行限流规则的配置(控制台、HTTP接口以及本地文件)。
- 本示例使用的方式为通过HTTP接口进行配置。通过以下命令来配置:
+ - 使用的方式为通过HTTP接口进行配置。通过以下命令来配置:
````
curl -X POST -H "Content-Type:application/json" 127.0.0.1:8090/naming/v1/ratelimits -d @rule.json
````
+ - 通过控制台进行配置,示例如下:
+ 
+
5. 验证限流效果
继续访问http://127.0.0.1:48081/business/invoke,可以看到,10次调用后,就开始被限流:
diff --git a/spring-cloud-tencent-examples/polaris-ratelimit-example/README.md b/spring-cloud-tencent-examples/polaris-ratelimit-example/README.md
index 5b85e6077..b9cf2bacd 100644
--- a/spring-cloud-tencent-examples/polaris-ratelimit-example/README.md
+++ b/spring-cloud-tencent-examples/polaris-ratelimit-example/README.md
@@ -50,11 +50,15 @@ Examples provided by Polaris all support to run at IDE, or compile and run with
4. Configuration rate limit and verification
Polaris provide three wats to conduct rate limit configuration (control panel, HTTP port and local files)
-this example is HTTP configuration. One can figure with the following steps:
+ - HTTP configuration. One can figure with the following steps:
- ````
- curl -X POST -H "Content-Type:application/json" 127.0.0.1:8090/naming/v1/ratelimits -d @rule.json
- ````
+ ````
+ curl -X POST -H "Content-Type:application/json" 127.0.0.1:8090/naming/v1/ratelimits -d @rule.json
+ ````
+
+ - Configuration is done through the console, example as follows.
+
+ 
5. Verify rate limit result
continue visit http://127.0.0.1:48081/business/invoke, one can see, after 10 invokes, rate limit will start:
diff --git a/spring-cloud-tencent-examples/polaris-ratelimit-example/polaris-ratelimit-ui.png b/spring-cloud-tencent-examples/polaris-ratelimit-example/polaris-ratelimit-ui.png
new file mode 100644
index 000000000..402fef4f5
Binary files /dev/null and b/spring-cloud-tencent-examples/polaris-ratelimit-example/polaris-ratelimit-ui.png differ
diff --git a/spring-cloud-tencent-examples/polaris-router-example/router-caller-service/src/main/java/com/tencent/cloud/polaris/router/example/RouterCallerController.java b/spring-cloud-tencent-examples/polaris-router-example/router-caller-service/src/main/java/com/tencent/cloud/polaris/router/example/RouterCallerController.java
index 390f4730a..0a92837fd 100644
--- a/spring-cloud-tencent-examples/polaris-router-example/router-caller-service/src/main/java/com/tencent/cloud/polaris/router/example/RouterCallerController.java
+++ b/spring-cloud-tencent-examples/polaris-router-example/router-caller-service/src/main/java/com/tencent/cloud/polaris/router/example/RouterCallerController.java
@@ -54,7 +54,7 @@ public class RouterCallerController {
*/
@GetMapping("/rest")
public String rest() {
- return restTemplate.getForObject("http://DiscoveryCalleeService/discovery/service/callee/info", String.class);
+ return restTemplate.getForObject("http://RouterCalleeService/router/service/callee/info", String.class);
}
/**
diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisContextAutoConfiguration.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisContextAutoConfiguration.java
index 1076a83c4..57c43c3a1 100644
--- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisContextAutoConfiguration.java
+++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisContextAutoConfiguration.java
@@ -18,12 +18,15 @@
package com.tencent.cloud.polaris.context;
+import java.util.List;
+
import com.tencent.polaris.api.exception.PolarisException;
import com.tencent.polaris.client.api.SDKContext;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
+import org.springframework.core.env.Environment;
/**
* Autoconfiguration for Polaris {@link SDKContext}.
@@ -36,8 +39,10 @@ public class PolarisContextAutoConfiguration {
@Bean(name = "polarisContext", initMethod = "init", destroyMethod = "destroy")
@ConditionalOnMissingBean
- public SDKContext polarisContext(PolarisContextProperties properties) throws PolarisException {
- return SDKContext.initContextByConfig(properties.configuration());
+ public SDKContext polarisContext(PolarisContextProperties properties,
+ Environment environment,
+ List modifierList) throws PolarisException {
+ return SDKContext.initContextByConfig(properties.configuration(environment, modifierList));
}
@Bean
diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisContextProperties.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisContextProperties.java
index e8ef3dc7c..6933f707a 100644
--- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisContextProperties.java
+++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisContextProperties.java
@@ -29,7 +29,6 @@ import com.tencent.polaris.factory.ConfigAPIFactory;
import com.tencent.polaris.factory.config.ConfigurationImpl;
import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.core.env.Environment;
import org.springframework.util.CollectionUtils;
@@ -67,19 +66,17 @@ public class PolarisContextProperties {
*/
private String service;
- @Autowired
- private Environment environment;
-
- @Autowired
- private List modifierList;
-
- protected Configuration configuration() {
+ protected Configuration configuration(Environment environment, List modifierList) {
// 1. Read user-defined polaris.yml configuration
ConfigurationImpl configuration = (ConfigurationImpl) ConfigAPIFactory
.defaultConfig(ConfigProvider.DEFAULT_CONFIG);
// 2. Override user-defined polaris.yml configuration with SCT configuration
- String defaultHost = getHost();
+ String defaultHost = this.localIpAddress;
+ if (StringUtils.isBlank(localIpAddress)) {
+ defaultHost = environment.getProperty("spring.cloud.client.ip-address");
+ }
+
configuration.getGlobal().getAPI().setBindIP(defaultHost);
Collection modifiers = modifierList;
@@ -94,13 +91,6 @@ public class PolarisContextProperties {
return configuration;
}
- private String getHost() {
- if (StringUtils.isNotBlank(localIpAddress)) {
- return localIpAddress;
- }
- return environment.getProperty("spring.cloud.client.ip-address");
- }
-
public String getAddress() {
return address;
}
diff --git a/spring-cloud-tencent-polaris-loadbalancer/src/main/java/com/tencent/cloud/polaris/loadbalancer/PolarisServiceInstanceListSupplier.java b/spring-cloud-tencent-polaris-loadbalancer/src/main/java/com/tencent/cloud/polaris/loadbalancer/PolarisServiceInstanceListSupplier.java
index 6dda6039d..275b9a5c0 100644
--- a/spring-cloud-tencent-polaris-loadbalancer/src/main/java/com/tencent/cloud/polaris/loadbalancer/PolarisServiceInstanceListSupplier.java
+++ b/spring-cloud-tencent-polaris-loadbalancer/src/main/java/com/tencent/cloud/polaris/loadbalancer/PolarisServiceInstanceListSupplier.java
@@ -95,7 +95,8 @@ public class PolarisServiceInstanceListSupplier extends DelegatingServiceInstanc
processRoutersRequest.setDstInstances(serviceInstances);
String srcNamespace = MetadataContext.LOCAL_NAMESPACE;
String srcService = MetadataContext.LOCAL_SERVICE;
- Map transitiveCustomMetadata = MetadataContextHolder.get().getAllTransitiveCustomMetadata();
+ MetadataContext context = MetadataContextHolder.get();
+ Map transitiveCustomMetadata = context.getAllTransitiveCustomMetadata();
if (StringUtils.isNotBlank(srcNamespace) && StringUtils.isNotBlank(srcService)) {
ServiceInfo serviceInfo = new ServiceInfo();
serviceInfo.setNamespace(srcNamespace);