diff --git a/.github/workflows/junit.yml b/.github/workflows/junit.yml
index 564057e0d..92cb14dc1 100644
--- a/.github/workflows/junit.yml
+++ b/.github/workflows/junit.yml
@@ -3,6 +3,7 @@ name: Junit Test
on:
push:
branches:
+ - 2025
- 2024
- 2023
- 2022
@@ -15,6 +16,7 @@ on:
- '**.md'
pull_request:
branches:
+ - 2025
- 2024
- 2023
- 2022
@@ -41,7 +43,9 @@ jobs:
branch_name=${{ github.base_ref }}
fi
echo $branch_name
- if [[ "$branch_name" == "2024" ]]; then
+ if [[ "$branch_name" == "2025" ]]; then
+ echo "jdks=[17,21,25]" >> $GITHUB_OUTPUT
+ elif [[ "$branch_name" == "2024" ]]; then
echo "jdks=[17,21]" >> $GITHUB_OUTPUT
elif [[ "$branch_name" == "2023" ]]; then
echo "jdks=[17,21]" >> $GITHUB_OUTPUT
diff --git a/.github/workflows/license-checker.yml b/.github/workflows/license-checker.yml
index f6bddb2ff..c5d8d9af8 100644
--- a/.github/workflows/license-checker.yml
+++ b/.github/workflows/license-checker.yml
@@ -3,6 +3,7 @@ name: License checker
on:
push:
branches:
+ - 2025
- 2024
- 2023
- 2022
@@ -15,6 +16,7 @@ on:
- '**.md'
pull_request:
branches:
+ - 2025
- 2024
- 2023
- 2022
diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml
index 4be4c5f30..6ab04a582 100644
--- a/.github/workflows/snapshot.yml
+++ b/.github/workflows/snapshot.yml
@@ -3,6 +3,7 @@ name: Snapshot
on:
push:
branches:
+ - 2025
- 2024
- 2023
- 2022
@@ -41,7 +42,9 @@ jobs:
id: set-jdk
run: |
shopt -s nocasematch
- if [[ "${{ github.ref_name }}" == "2024" ]]; then
+ if [[ "${{ github.ref_name }}" == "2025" ]]; then
+ echo "jdk=17" >> $GITHUB_OUTPUT
+ elif [[ "${{ github.ref_name }}" == "2024" ]]; then
echo "jdk=17" >> $GITHUB_OUTPUT
elif [[ "${{ github.ref_name }}" == "2023" ]]; then
echo "jdk=17" >> $GITHUB_OUTPUT
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f11c3265c..db79acb57 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,3 +6,4 @@
- [feat: Support Polaris config env value and add related tests](https://github.com/Tencent/spring-cloud-tencent/pull/1797)
- [refactor: modify the initialization of ApplicationContextAwareUtils.](https://github.com/Tencent/spring-cloud-tencent/pull/1798)
- [feat: support enable/disable cloud location provider via configuration.](https://github.com/Tencent/spring-cloud-tencent/pull/1799)
+- [feat: Upgrade to Spring Cloud 2025.1.1.](https://github.com/Tencent/spring-cloud-tencent/pull/1801)
diff --git a/pom.xml b/pom.xml
index 604427d78..af6d81e74 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-build
- 4.2.4
+ 5.0.1
4.0.0
@@ -90,22 +90,22 @@
- 2.1.2.0-2024.0.3-SNAPSHOT
+ 2.1.2.0-2025.1.1-SNAPSHOT
- 6.2.15
+ 7.0.3
- 3.4.12
+ 4.0.2
- 2024.0.3
+ 2025.1.1
2.0.2
- 0.8.12
+ 0.8.14
3.4.0
0.8.0
@@ -193,6 +193,12 @@
reactor-test
test
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+ test
+
diff --git a/spring-cloud-starter-tencent-metadata-transfer/pom.xml b/spring-cloud-starter-tencent-metadata-transfer/pom.xml
index 31e702853..a5b7aa919 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/pom.xml
+++ b/spring-cloud-starter-tencent-metadata-transfer/pom.xml
@@ -23,7 +23,7 @@
org.springframework.cloud
- spring-cloud-starter-gateway
+ spring-cloud-starter-gateway-server-webflux
true
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/CustomTransitiveMetadataResolver.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/CustomTransitiveMetadataResolver.java
index aaf703333..0b3041eae 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/CustomTransitiveMetadataResolver.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/CustomTransitiveMetadataResolver.java
@@ -44,7 +44,7 @@ public final class CustomTransitiveMetadataResolver {
Map result = new HashMap<>();
HttpHeaders headers = exchange.getRequest().getHeaders();
- for (Map.Entry> entry : headers.entrySet()) {
+ for (Map.Entry> entry : headers.headerSet()) {
String key = entry.getKey();
if (StringUtils.isBlank(key)) {
continue;
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/TransHeadersTransfer.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/TransHeadersTransfer.java
index f36a3bef2..aa7d63b3d 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/TransHeadersTransfer.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/TransHeadersTransfer.java
@@ -84,7 +84,7 @@ public final class TransHeadersTransfer {
if (transHeaders != null) {
String[] transHeaderArray = transHeaders.split(",");
HttpHeaders headers = serverHttpRequest.getHeaders();
- Set headerKeys = headers.keySet();
+ Set headerKeys = headers.headerNames();
for (String httpHeader : headerKeys) {
for (String transHeader : transHeaderArray) {
if (transHeader.equals(httpHeader)) {
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/pojo/SnapshotHttpServletRequest.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/pojo/SnapshotHttpServletRequest.java
index 40035c763..4a6262957 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/pojo/SnapshotHttpServletRequest.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/pojo/SnapshotHttpServletRequest.java
@@ -149,7 +149,7 @@ public final class SnapshotHttpServletRequest implements HttpServletRequest {
@Override
public Enumeration getHeaderNames() {
- return Collections.enumeration(headers.keySet());
+ return Collections.enumeration(headers.headerNames());
}
@Override
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilterTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilterTest.java
index 19460df0f..2853c737e 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilterTest.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilterTest.java
@@ -45,7 +45,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = MOCK,
classes = DecodeTransferMetadataServletFilterTest.TestApplication.class,
- properties = {"spring.config.location = classpath:application-test.yml", "spring.main.web-application-type = reactive"})
+ properties = {"spring.config.location = classpath:application-test.yml", "spring.main.web-application-type = reactive",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class DecodeTransferMetadataReactiveFilterTest {
@Autowired
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilterTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilterTest.java
index d47ba7960..45760b075 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilterTest.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilterTest.java
@@ -46,7 +46,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
classes = DecodeTransferMetadataServletFilterTest.TestApplication.class,
properties = {"spring.config.location = classpath:application-test.yml",
"spring.main.web-application-type = servlet",
- "spring.cloud.gateway.enabled = false"})
+ "spring.cloud.gateway.enabled = false",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class DecodeTransferMetadataServletFilterTest {
@Autowired
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptorTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptorTest.java
index c69b68f6d..81160baa2 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptorTest.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptorTest.java
@@ -49,7 +49,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
classes = EncodeTransferMedataFeignInterceptorTest.TestApplication.class,
properties = {"server.port=48081", "spring.config.location = classpath:application-test.yml",
"spring.main.web-application-type = servlet",
- "spring.cloud.gateway.enabled = false"})
+ "spring.cloud.gateway.enabled = false",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class EncodeTransferMedataFeignInterceptorTest {
@Autowired
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataWebClientFilterTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataWebClientFilterTest.java
index bd4aa9ea9..4dd5cd259 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataWebClientFilterTest.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataWebClientFilterTest.java
@@ -44,7 +44,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
@SpringBootTest(webEnvironment = RANDOM_PORT,
classes = EncodeTransferMedataWebClientFilterTest.TestApplication.class,
properties = {"spring.config.location = classpath:application-test.yml",
- "spring.main.web-application-type = reactive"})
+ "spring.main.web-application-type = reactive",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class EncodeTransferMedataWebClientFilterTest {
@Autowired
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EnhancedRestTemplateInterceptorTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EnhancedRestTemplateInterceptorTest.java
index 02faad8c2..14d9dfde5 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EnhancedRestTemplateInterceptorTest.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EnhancedRestTemplateInterceptorTest.java
@@ -52,7 +52,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
@SpringBootTest(webEnvironment = RANDOM_PORT,
classes = EnhancedRestTemplateInterceptorTest.TestApplication.class,
properties = {"spring.config.location = classpath:application-test.yml",
- "spring.main.web-application-type = reactive"})
+ "spring.main.web-application-type = reactive",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class EnhancedRestTemplateInterceptorTest {
@Autowired
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/TransHeadersTransferTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/TransHeadersTransferTest.java
index 0cadba99e..ab436cd95 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/TransHeadersTransferTest.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/TransHeadersTransferTest.java
@@ -42,7 +42,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = RANDOM_PORT,
classes = DecodeTransferMetadataServletFilterTest.TestApplication.class,
- properties = {"spring.config.location = classpath:application-test.yml"})
+ properties = {"spring.config.location = classpath:application-test.yml",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class TransHeadersTransferTest {
@AfterAll
static void afterAll() {
diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml b/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml
index 9befa1ade..9173e5223 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml
+++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml
@@ -40,7 +40,7 @@
org.springframework.cloud
- spring-cloud-starter-gateway
+ spring-cloud-starter-gateway-server-webflux
true
diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/common/PolarisResultToErrorCode.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/common/PolarisResultToErrorCode.java
index b778b2139..ede0dd316 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/common/PolarisResultToErrorCode.java
+++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/common/PolarisResultToErrorCode.java
@@ -40,7 +40,7 @@ public class PolarisResultToErrorCode implements ResultToErrorCode {
public int onError(Throwable e) {
if (checkClassExist("org.springframework.web.client.RestClientResponseException")
&& e instanceof RestClientResponseException) {
- return ((RestClientResponseException) e).getRawStatusCode();
+ return ((RestClientResponseException) e).getStatusCode().value();
}
else if (checkClassExist("feign.FeignException")
&& e instanceof FeignException) {
@@ -48,10 +48,10 @@ public class PolarisResultToErrorCode implements ResultToErrorCode {
}
else if (checkClassExist("org.springframework.web.reactive.function.client.WebClientResponseException")
&& e instanceof WebClientResponseException) {
- return ((WebClientResponseException) e).getRawStatusCode();
+ return ((WebClientResponseException) e).getStatusCode().value();
}
else if (e instanceof CircuitBreakerStatusCodeException) {
- return ((CircuitBreakerStatusCodeException) e).getRawStatusCode();
+ return ((CircuitBreakerStatusCodeException) e).getStatusCode().value();
}
return -1;
}
diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/ExceptionCircuitBreakerReporter.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/ExceptionCircuitBreakerReporter.java
index 355c68b4d..7c0d636fb 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/ExceptionCircuitBreakerReporter.java
+++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/ExceptionCircuitBreakerReporter.java
@@ -80,7 +80,7 @@ public class ExceptionCircuitBreakerReporter implements EnhancedPlugin {
EnhancedRequestContext request = context.getRequest();
ServiceInstance serviceInstance = Optional.ofNullable(context.getTargetServiceInstance())
- .orElse(new DefaultServiceInstance());
+ .orElse(new DefaultServiceInstance(null, null, null, 0, false));
ResourceStat resourceStat = PolarisEnhancedPluginUtils.createInstanceResourceStat(
serviceInstance.getServiceId(),
diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/SuccessCircuitBreakerReporter.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/SuccessCircuitBreakerReporter.java
index 632257972..3f5b50ea2 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/SuccessCircuitBreakerReporter.java
+++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/SuccessCircuitBreakerReporter.java
@@ -84,7 +84,7 @@ public class SuccessCircuitBreakerReporter implements EnhancedPlugin {
EnhancedRequestContext request = context.getRequest();
EnhancedResponseContext response = context.getResponse();
ServiceInstance serviceInstance = Optional.ofNullable(context.getTargetServiceInstance())
- .orElse(new DefaultServiceInstance());
+ .orElse(new DefaultServiceInstance(null, null, null, 0, false));
ResourceStat resourceStat = PolarisEnhancedPluginUtils.createInstanceResourceStat(
serviceInstance.getServiceId(),
diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/instrument/resttemplate/PolarisCircuitBreakerHttpResponseTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/instrument/resttemplate/PolarisCircuitBreakerHttpResponseTest.java
index 2ef04245e..85cf47ef2 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/instrument/resttemplate/PolarisCircuitBreakerHttpResponseTest.java
+++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/instrument/resttemplate/PolarisCircuitBreakerHttpResponseTest.java
@@ -44,7 +44,7 @@ public class PolarisCircuitBreakerHttpResponseTest {
assertThat(response.getStatusCode().value()).isEqualTo(200);
assertThat(response.getHeaders()).isNotNull();
- assertThat(response.getHeaders()).isEmpty();
+ assertThat(response.getHeaders().isEmpty()).isTrue();
assertThat(response.getBody()).isNull();
}
@@ -55,7 +55,7 @@ public class PolarisCircuitBreakerHttpResponseTest {
assertThat(response.getStatusCode().value()).isEqualTo(200);
assertThat(response.getHeaders()).isNotNull();
- assertThat(response.getHeaders()).isEmpty();
+ assertThat(response.getHeaders().isEmpty()).isTrue();
assertThat(response.getBody()).isNotNull();
}
@@ -71,8 +71,8 @@ public class PolarisCircuitBreakerHttpResponseTest {
assertThat(response.getStatusCode().value()).isEqualTo(200);
assertThat(response.getHeaders()).isNotNull();
assertThat(response.getHeaders().size()).isEqualTo(2);
- assertThat(response.getHeaders()).containsKey("Content-Type");
- assertThat(response.getHeaders()).containsKey("Authorization");
+ assertThat(response.getHeaders().containsHeader("Content-Type")).isTrue();
+ assertThat(response.getHeaders().containsHeader("Authorization")).isTrue();
assertThat(response.getBody()).isNotNull();
}
@@ -87,7 +87,7 @@ public class PolarisCircuitBreakerHttpResponseTest {
assertThat(response.getStatusCode().value()).isEqualTo(200);
assertThat(response.getFallbackInfo()).isEqualTo(fallbackInfo);
assertThat(response.getHeaders()).isNotNull();
- assertThat(response.getHeaders()).containsKey("Content-Type");
+ assertThat(response.getHeaders().containsHeader("Content-Type")).isTrue();
assertThat(response.getBody()).isNotNull();
}
diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/reporter/CircuitBreakerPluginTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/reporter/CircuitBreakerPluginTest.java
index c86b8eb50..c26fd4ad0 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/reporter/CircuitBreakerPluginTest.java
+++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/reporter/CircuitBreakerPluginTest.java
@@ -125,7 +125,7 @@ public class CircuitBreakerPluginTest {
EnhancedResponseContext response = EnhancedResponseContext.builder()
.httpStatus(200)
.build();
- DefaultServiceInstance serviceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance serviceInstance = new DefaultServiceInstance(null, null, null, 0, false);
serviceInstance.setServiceId(SERVICE_PROVIDER);
pluginContext.setRequest(request);
@@ -157,7 +157,7 @@ public class CircuitBreakerPluginTest {
EnhancedResponseContext response = EnhancedResponseContext.builder()
.httpStatus(200)
.build();
- DefaultServiceInstance serviceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance serviceInstance = new DefaultServiceInstance(null, null, null, 0, false);
serviceInstance.setServiceId(SERVICE_PROVIDER);
pluginContext.setRequest(request);
diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/reporter/ExceptionCircuitBreakerReporterTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/reporter/ExceptionCircuitBreakerReporterTest.java
index a40185d4a..003521f90 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/reporter/ExceptionCircuitBreakerReporterTest.java
+++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/reporter/ExceptionCircuitBreakerReporterTest.java
@@ -122,7 +122,7 @@ public class ExceptionCircuitBreakerReporterTest {
EnhancedResponseContext response = EnhancedResponseContext.builder()
.httpStatus(200)
.build();
- DefaultServiceInstance serviceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance serviceInstance = new DefaultServiceInstance(null, null, null, 0, false);
serviceInstance.setServiceId(SERVICE_PROVIDER);
pluginContext.setRequest(request);
@@ -162,7 +162,7 @@ public class ExceptionCircuitBreakerReporterTest {
EnhancedResponseContext response = EnhancedResponseContext.builder()
.httpStatus(300)
.build();
- DefaultServiceInstance serviceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance serviceInstance = new DefaultServiceInstance(null, null, null, 0, false);
serviceInstance.setServiceId(SERVICE_PROVIDER);
pluginContext.setRequest(request);
@@ -197,7 +197,7 @@ public class ExceptionCircuitBreakerReporterTest {
EnhancedResponseContext response = EnhancedResponseContext.builder()
.httpStatus(300)
.build();
- DefaultServiceInstance serviceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance serviceInstance = new DefaultServiceInstance(null, null, null, 0, false);
serviceInstance.setServiceId(SERVICE_PROVIDER);
pluginContext.setRequest(request);
diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/reporter/SuccessCircuitBreakerReporterTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/reporter/SuccessCircuitBreakerReporterTest.java
index 540bc51e3..48838ad00 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/reporter/SuccessCircuitBreakerReporterTest.java
+++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/reporter/SuccessCircuitBreakerReporterTest.java
@@ -137,7 +137,7 @@ public class SuccessCircuitBreakerReporterTest {
EnhancedResponseContext response = EnhancedResponseContext.builder()
.httpStatus(200)
.build();
- DefaultServiceInstance serviceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance serviceInstance = new DefaultServiceInstance(null, null, null, 0, false);
serviceInstance.setServiceId(SERVICE_PROVIDER);
pluginContext.setRequest(request);
@@ -176,7 +176,7 @@ public class SuccessCircuitBreakerReporterTest {
EnhancedResponseContext response = EnhancedResponseContext.builder()
.httpStatus(300)
.build();
- DefaultServiceInstance serviceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance serviceInstance = new DefaultServiceInstance(null, null, null, 0, false);
serviceInstance.setServiceId(SERVICE_PROVIDER);
pluginContext.setRequest(request);
@@ -210,7 +210,7 @@ public class SuccessCircuitBreakerReporterTest {
EnhancedResponseContext response = EnhancedResponseContext.builder()
.httpStatus(300)
.build();
- DefaultServiceInstance serviceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance serviceInstance = new DefaultServiceInstance(null, null, null, 0, false);
serviceInstance.setServiceId(SERVICE_PROVIDER);
pluginContext.setRequest(request);
diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLocationResolver.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLocationResolver.java
index 0660c1ea9..0e669e05d 100644
--- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLocationResolver.java
+++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLocationResolver.java
@@ -35,8 +35,8 @@ import com.tencent.polaris.client.api.SDKContext;
import com.tencent.polaris.factory.config.ConfigurationImpl;
import org.apache.commons.logging.Log;
-import org.springframework.boot.BootstrapRegistry;
-import org.springframework.boot.ConfigurableBootstrapContext;
+import org.springframework.boot.bootstrap.BootstrapRegistry;
+import org.springframework.boot.bootstrap.ConfigurableBootstrapContext;
import org.springframework.boot.context.config.ConfigDataLocation;
import org.springframework.boot.context.config.ConfigDataLocationNotFoundException;
import org.springframework.boot.context.config.ConfigDataLocationResolver;
diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/resources/META-INF/spring.factories b/spring-cloud-starter-tencent-polaris-config/src/main/resources/META-INF/spring.factories
index 4ce401abe..95d4c2107 100644
--- a/spring-cloud-starter-tencent-polaris-config/src/main/resources/META-INF/spring.factories
+++ b/spring-cloud-starter-tencent-polaris-config/src/main/resources/META-INF/spring.factories
@@ -8,6 +8,6 @@ org.springframework.boot.context.config.ConfigDataLoader=\
com.tencent.cloud.polaris.config.configdata.PolarisConfigDataLoader
org.springframework.boot.diagnostics.FailureAnalyzer=\
com.tencent.cloud.polaris.config.configdata.PolarisImportExceptionFailureAnalyzer
-org.springframework.boot.env.EnvironmentPostProcessor=\
+org.springframework.boot.EnvironmentPostProcessor=\
com.tencent.cloud.polaris.config.configdata.PolarisConfigDataMissingEnvironmentPostProcessor
diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessorTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessorTest.java
index 69d6eb138..5074fc771 100644
--- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessorTest.java
+++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessorTest.java
@@ -211,7 +211,7 @@ public class SpringValueProcessorTest {
}
@Component
- private static class ValueTest {
+ private static final class ValueTest {
private static String name;
@Value("${timeout:1000}")
private int timeout;
diff --git a/spring-cloud-starter-tencent-polaris-contract/src/main/java/com/tencent/cloud/polaris/contract/PolarisContractReporter.java b/spring-cloud-starter-tencent-polaris-contract/src/main/java/com/tencent/cloud/polaris/contract/PolarisContractReporter.java
index 417cf5517..65795976e 100644
--- a/spring-cloud-starter-tencent-polaris-contract/src/main/java/com/tencent/cloud/polaris/contract/PolarisContractReporter.java
+++ b/spring-cloud-starter-tencent-polaris-contract/src/main/java/com/tencent/cloud/polaris/contract/PolarisContractReporter.java
@@ -24,7 +24,6 @@ import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.tencent.cloud.common.metadata.MetadataContext;
import com.tencent.cloud.common.util.GzipUtil;
import com.tencent.cloud.polaris.PolarisDiscoveryProperties;
@@ -46,6 +45,7 @@ import org.springdoc.api.AbstractOpenApiResourceUtil;
import org.springdoc.core.providers.ObjectMapperProvider;
import org.springdoc.webflux.api.OpenApiWebFluxUtil;
import org.springdoc.webmvc.api.OpenApiWebMvcUtil;
+import tools.jackson.databind.json.JsonMapper;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
@@ -115,8 +115,9 @@ public class PolarisContractReporter implements ApplicationListener incl.withValueInclusion(JsonInclude.Include.NON_NULL))
+ .build();
jsonValue = mapper.writeValueAsString(openAPI);
}
String serviceApiMeta = GzipUtil.compressBase64Encode(jsonValue, "utf-8");
@@ -159,8 +160,9 @@ public class PolarisContractReporter implements ApplicationListener incl.withValueInclusion(JsonInclude.Include.NON_NULL))
+ .build();
jsonValue = mapper.writeValueAsString(o.getValue());
}
interfaceDescriptor.setContent(GzipUtil.compressBase64Encode(jsonValue, "utf-8"));
diff --git a/spring-cloud-starter-tencent-polaris-contract/src/main/java/com/tencent/cloud/polaris/contract/tsf/TsfApiMetadataGrapher.java b/spring-cloud-starter-tencent-polaris-contract/src/main/java/com/tencent/cloud/polaris/contract/tsf/TsfApiMetadataGrapher.java
index 9e9f6b5af..381ee5094 100644
--- a/spring-cloud-starter-tencent-polaris-contract/src/main/java/com/tencent/cloud/polaris/contract/tsf/TsfApiMetadataGrapher.java
+++ b/spring-cloud-starter-tencent-polaris-contract/src/main/java/com/tencent/cloud/polaris/contract/tsf/TsfApiMetadataGrapher.java
@@ -20,7 +20,6 @@ package com.tencent.cloud.polaris.contract.tsf;
import java.util.concurrent.atomic.AtomicBoolean;
import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.tencent.cloud.common.util.GzipUtil;
import io.swagger.v3.oas.models.OpenAPI;
import org.slf4j.Logger;
@@ -30,6 +29,7 @@ import org.springdoc.api.AbstractOpenApiResourceUtil;
import org.springdoc.core.providers.ObjectMapperProvider;
import org.springdoc.webflux.api.OpenApiWebFluxUtil;
import org.springdoc.webmvc.api.OpenApiWebMvcUtil;
+import tools.jackson.databind.json.JsonMapper;
import org.springframework.context.ApplicationContext;
import org.springframework.context.SmartLifecycle;
@@ -89,8 +89,9 @@ public class TsfApiMetadataGrapher implements SmartLifecycle {
jsonValue = springdocObjectMapperProvider.jsonMapper().writeValueAsString(openAPI);
}
else {
- ObjectMapper mapper = new ObjectMapper();
- mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+ JsonMapper mapper = JsonMapper.builder()
+ .changeDefaultPropertyInclusion(incl -> incl.withValueInclusion(JsonInclude.Include.NON_NULL))
+ .build();
jsonValue = mapper.writeValueAsString(openAPI);
}
if (openAPI != null && !StringUtils.isEmpty(jsonValue)) {
diff --git a/spring-cloud-starter-tencent-polaris-discovery/pom.xml b/spring-cloud-starter-tencent-polaris-discovery/pom.xml
index 67bdae3ea..3243705b8 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/pom.xml
+++ b/spring-cloud-starter-tencent-polaris-discovery/pom.xml
@@ -53,7 +53,7 @@
org.springframework.boot
- spring-boot-actuator
+ spring-boot-starter-actuator
true
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientConfiguration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientConfiguration.java
index 30bc43240..06f691ac4 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientConfiguration.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientConfiguration.java
@@ -47,7 +47,7 @@ public class PolarisReactiveDiscoveryClientConfiguration {
}
@Bean
- @ConditionalOnClass(name = "org.springframework.boot.actuate.health.ReactiveHealthIndicator")
+ @ConditionalOnClass(name = "org.springframework.boot.health.contributor.ReactiveHealthIndicator")
@ConditionalOnDiscoveryHealthIndicatorEnabled
public ReactiveDiscoveryClientHealthIndicator polarisReactiveDiscoveryClientHealthIndicator(
PolarisReactiveDiscoveryClient client, DiscoveryClientHealthIndicatorProperties properties) {
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java
index e49fcafb8..963e2d391 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java
@@ -31,6 +31,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration;
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationProperties;
import org.springframework.cloud.client.serviceregistry.ServiceRegistry;
+import org.springframework.context.ApplicationContext;
import org.springframework.util.StringUtils;
/**
@@ -49,13 +50,14 @@ public class PolarisAutoServiceRegistration extends AbstractAutoServiceRegistrat
private final AssemblyAPI assemblyAPI;
public PolarisAutoServiceRegistration(
+ ApplicationContext context,
ServiceRegistry serviceRegistry,
AutoServiceRegistrationProperties autoServiceRegistrationProperties,
PolarisRegistration registration,
PolarisDiscoveryProperties polarisDiscoveryProperties,
AssemblyAPI assemblyAPI
) {
- super(serviceRegistry, autoServiceRegistrationProperties);
+ super(context, serviceRegistry, autoServiceRegistrationProperties);
this.registration = registration;
this.polarisDiscoveryProperties = polarisDiscoveryProperties;
this.assemblyAPI = assemblyAPI;
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java
index 1506bc018..5ea0922f4 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java
@@ -31,9 +31,9 @@ import com.tencent.polaris.api.utils.CollectionUtils;
import com.tencent.polaris.api.utils.StringUtils;
import com.tencent.polaris.client.api.SDKContext;
-import org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext;
-import org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext;
-import org.springframework.cloud.client.DefaultServiceInstance;
+import org.springframework.boot.web.server.reactive.context.ReactiveWebServerApplicationContext;
+import org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext;
+import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.serviceregistry.Registration;
import org.springframework.lang.Nullable;
/**
@@ -180,7 +180,7 @@ public class PolarisRegistration implements Registration {
@Override
public URI getUri() {
- return DefaultServiceInstance.getUri(this);
+ return ServiceInstance.createUri(this);
}
@Override
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfiguration.java
index fbc33cf48..d3117de79 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfiguration.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfiguration.java
@@ -34,11 +34,12 @@ import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext;
-import org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext;
+import org.springframework.boot.web.server.reactive.context.ReactiveWebServerApplicationContext;
+import org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext;
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationAutoConfiguration;
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationProperties;
import org.springframework.cloud.client.serviceregistry.ServiceRegistryAutoConfiguration;
+import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -81,13 +82,14 @@ public class PolarisServiceRegistryAutoConfiguration {
@Bean
public PolarisAutoServiceRegistration polarisAutoServiceRegistration(
+ ApplicationContext context,
PolarisServiceRegistry registry,
AutoServiceRegistrationProperties autoServiceRegistrationProperties,
PolarisRegistration registration,
PolarisDiscoveryProperties polarisDiscoveryProperties,
PolarisSDKContextManager polarisSDKContextManager
) {
- return new PolarisAutoServiceRegistration(registry, autoServiceRegistrationProperties, registration,
+ return new PolarisAutoServiceRegistration(context, registry, autoServiceRegistrationProperties, registration,
polarisDiscoveryProperties, polarisSDKContextManager.getAssemblyAPI());
}
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistrationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistrationTest.java
index a1aed35c6..df559099d 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistrationTest.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistrationTest.java
@@ -30,6 +30,7 @@ import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationP
import org.springframework.cloud.client.serviceregistry.ServiceRegistry;
import org.springframework.context.ApplicationContext;
import org.springframework.core.env.Environment;
+import org.springframework.mock.env.MockEnvironment;
import static com.tencent.polaris.test.common.Consts.SERVICE_PROVIDER;
import static org.assertj.core.api.Assertions.assertThat;
@@ -73,12 +74,15 @@ public class PolarisAutoServiceRegistrationTest {
doNothing().when(serviceRegistry).register(nullable(PolarisRegistration.class));
doNothing().when(serviceRegistry).deregister(nullable(PolarisRegistration.class));
+ // Use MockEnvironment to simulate real Spring environment
+ MockEnvironment mockEnvironment = new MockEnvironment();
+ mockEnvironment.setProperty("spring.application.name", "application");
+
+ doReturn(mockEnvironment).when(applicationContext).getEnvironment();
+
polarisAutoServiceRegistration =
- new PolarisAutoServiceRegistration(serviceRegistry, autoServiceRegistrationProperties, registration,
+ new PolarisAutoServiceRegistration(applicationContext, serviceRegistry, autoServiceRegistrationProperties, registration,
polarisDiscoveryProperties, null);
-
- doReturn(environment).when(applicationContext).getEnvironment();
- polarisAutoServiceRegistration.setApplicationContext(applicationContext);
}
@Test
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationTest.java
index 48f1ee6aa..6a6d696c5 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationTest.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationTest.java
@@ -36,9 +36,9 @@ import org.mockito.junit.jupiter.MockitoExtension;
import org.mockito.junit.jupiter.MockitoSettings;
import org.mockito.quality.Strictness;
-import org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext;
import org.springframework.boot.web.server.WebServer;
-import org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext;
+import org.springframework.boot.web.server.reactive.context.ReactiveWebServerApplicationContext;
+import org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext;
import static com.tencent.polaris.test.common.Consts.HOST;
import static com.tencent.polaris.test.common.Consts.PORT;
diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/context/CalleeControllerTests.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/context/CalleeControllerTests.java
index 59a1eea47..7e0c1f217 100644
--- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/context/CalleeControllerTests.java
+++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/context/CalleeControllerTests.java
@@ -38,11 +38,11 @@ import shade.polaris.com.google.protobuf.StringValue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.boot.test.web.server.LocalServerPort;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.web.client.HttpClientErrorException.TooManyRequests;
import org.springframework.web.client.RestClientException;
@@ -77,7 +77,7 @@ public class CalleeControllerTests {
@Autowired
private RestTemplate restTemplate;
- @MockBean
+ @MockitoBean
private LimitAPI limitAPI;
@BeforeAll
diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilterTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilterTest.java
index 4fbaa8adf..3ffbd3754 100644
--- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilterTest.java
+++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilterTest.java
@@ -50,7 +50,6 @@ import shade.polaris.com.google.protobuf.util.JsonFormat;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.http.HttpStatus;
import org.springframework.http.server.reactive.ServerHttpResponse;
import org.springframework.mock.http.server.reactive.MockServerHttpRequest;
import org.springframework.mock.web.server.MockServerWebExchange;
@@ -182,8 +181,7 @@ public class QuotaCheckReactiveFilterTest {
ServerWebExchange testApp3Exchange = MockServerWebExchange.from(request);
quotaCheckReactiveFilter.filter(testApp3Exchange, webFilterChain);
ServerHttpResponse response = testApp3Exchange.getResponse();
- assertThat(response.getRawStatusCode()).isEqualTo(419);
- assertThat(response.getStatusCode()).isEqualTo(HttpStatus.INSUFFICIENT_SPACE_ON_RESOURCE);
+ assertThat(response.getStatusCode().value()).isEqualTo(419);
assertThat(response.getHeaders()
.get(HeaderConstant.INTERNAL_ACTIVE_RULE_NAME)).isEqualTo(Collections.singletonList("MOCK_RULE"));
@@ -227,7 +225,7 @@ public class QuotaCheckReactiveFilterTest {
MetadataContext.LOCAL_SERVICE = "TestApp3";
quotaCheckWithRateLimiterLimitedFallbackReactiveFilter.filter(exchange, webFilterChain);
ServerHttpResponse response = exchange.getResponse();
- assertThat(response.getRawStatusCode()).isEqualTo(polarisRateLimiterLimitedFallback.rejectHttpCode());
+ assertThat(response.getStatusCode().value()).isEqualTo(polarisRateLimiterLimitedFallback.rejectHttpCode());
assertThat(response.getHeaders().getContentType()).isEqualTo(polarisRateLimiterLimitedFallback.mediaType());
// Exception
diff --git a/spring-cloud-starter-tencent-polaris-router/pom.xml b/spring-cloud-starter-tencent-polaris-router/pom.xml
index 9ae6e167d..70968c80b 100644
--- a/spring-cloud-starter-tencent-polaris-router/pom.xml
+++ b/spring-cloud-starter-tencent-polaris-router/pom.xml
@@ -36,7 +36,7 @@
org.springframework.cloud
- spring-cloud-gateway-server
+ spring-cloud-gateway-server-webflux
true
@@ -50,7 +50,7 @@
org.springframework.cloud
- spring-cloud-gateway-server-mvc
+ spring-cloud-gateway-server-webmvc
true
diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/instrument/feign/RouterLabelFeignInterceptorTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/instrument/feign/RouterLabelFeignInterceptorTest.java
index 574979bb4..190b9dd63 100644
--- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/instrument/feign/RouterLabelFeignInterceptorTest.java
+++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/instrument/feign/RouterLabelFeignInterceptorTest.java
@@ -48,7 +48,8 @@ import static org.mockito.Mockito.mock;
*/
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = RouterLabelFeignInterceptorTest.TestApplication.class,
- properties = {"spring.cloud.polaris.namespace=test", "spring.application.name=test", "spring.cloud.gateway.enabled=false"})
+ properties = {"spring.cloud.polaris.namespace=test", "spring.application.name=test", "spring.cloud.gateway.enabled=false",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class RouterLabelFeignInterceptorTest {
@Test
diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/instrument/resttemplate/RouterLabelRestTemplateInterceptorTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/instrument/resttemplate/RouterLabelRestTemplateInterceptorTest.java
index 5f741d775..6d06a8fc2 100644
--- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/instrument/resttemplate/RouterLabelRestTemplateInterceptorTest.java
+++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/instrument/resttemplate/RouterLabelRestTemplateInterceptorTest.java
@@ -55,7 +55,8 @@ import static org.mockito.Mockito.when;
*/
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = RouterLabelRestTemplateInterceptorTest.TestApplication.class,
- properties = {"spring.cloud.polaris.namespace=test", "spring.application.name=test", "spring.cloud.gateway.enabled=false"})
+ properties = {"spring.cloud.polaris.namespace=test", "spring.application.name=test", "spring.cloud.gateway.enabled=false",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class RouterLabelRestTemplateInterceptorTest {
@Mock
diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/instrument/scgmvc/RouterLabelMvcFilterTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/instrument/scgmvc/RouterLabelMvcFilterTest.java
index e519830f2..62906f163 100644
--- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/instrument/scgmvc/RouterLabelMvcFilterTest.java
+++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/instrument/scgmvc/RouterLabelMvcFilterTest.java
@@ -47,7 +47,8 @@ import static org.springframework.cloud.gateway.server.mvc.filter.FormFilter.FOR
*/
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = RouterLabelMvcFilterTest.TestApplication.class,
- properties = {"spring.cloud.polaris.namespace=test", "spring.application.name=test", "spring.main.web-application-type=servlet", "spring.cloud.gateway.enabled=false"})
+ properties = {"spring.cloud.polaris.namespace=test", "spring.application.name=test", "spring.main.web-application-type=servlet", "spring.cloud.gateway.enabled=false",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class RouterLabelMvcFilterTest {
@Test
diff --git a/spring-cloud-tencent-commons/pom.xml b/spring-cloud-tencent-commons/pom.xml
index b447abb3b..cc00de055 100644
--- a/spring-cloud-tencent-commons/pom.xml
+++ b/spring-cloud-tencent-commons/pom.xml
@@ -65,7 +65,7 @@
org.springframework.cloud
- spring-cloud-starter-gateway
+ spring-cloud-starter-gateway-server-webflux
true
@@ -87,6 +87,11 @@
true
+
+ org.springframework.boot
+ spring-boot-web-server
+
+
org.springframework.boot
spring-boot-actuator-autoconfigure
diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/pojo/PolarisServiceInstance.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/pojo/PolarisServiceInstance.java
index 1e8dbcebc..1bff6583d 100644
--- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/pojo/PolarisServiceInstance.java
+++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/pojo/PolarisServiceInstance.java
@@ -26,7 +26,6 @@ import com.tencent.polaris.api.pojo.Instance;
import com.tencent.polaris.api.utils.CollectionUtils;
import com.tencent.polaris.api.utils.StringUtils;
-import org.springframework.cloud.client.DefaultServiceInstance;
import org.springframework.cloud.client.ServiceInstance;
/**
@@ -94,7 +93,7 @@ public class PolarisServiceInstance implements ServiceInstance {
@Override
public URI getUri() {
- return DefaultServiceInstance.getUri(this);
+ return ServiceInstance.createUri(this);
}
@Override
diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/JacksonUtils.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/JacksonUtils.java
index 905490577..6230c4cd8 100644
--- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/JacksonUtils.java
+++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/JacksonUtils.java
@@ -22,14 +22,14 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.ObjectWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import tools.jackson.core.JacksonException;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.databind.JavaType;
+import tools.jackson.databind.ObjectWriter;
+import tools.jackson.databind.json.JsonMapper;
import org.springframework.util.StringUtils;
@@ -43,12 +43,12 @@ public final class JacksonUtils {
/**
* Object Mapper.
*/
- public static final ObjectMapper OM = new ObjectMapper();
+ public static final JsonMapper OM = new JsonMapper();
private static final Logger LOG = LoggerFactory.getLogger(JacksonUtils.class);
static {
- OM.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ OM.rebuild().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
}
private JacksonUtils() {
@@ -81,7 +81,7 @@ public final class JacksonUtils {
return OM.writeValueAsString(object);
}
}
- catch (JsonProcessingException e) {
+ catch (JacksonException e) {
LOG.error("Object to Json failed. {}", object, e);
throw new RuntimeException("Object to Json failed.", e);
}
@@ -91,7 +91,7 @@ public final class JacksonUtils {
try {
return OM.readValue(jsonStr, type);
}
- catch (JsonProcessingException e) {
+ catch (JacksonException e) {
LOG.error("Json to object failed. {}", type, e);
throw new RuntimeException("Json to object failed.", e);
}
@@ -101,7 +101,7 @@ public final class JacksonUtils {
try {
return OM.readValue(jsonStr, typeReference);
}
- catch (JsonProcessingException e) {
+ catch (JacksonException e) {
LOG.error("Json to object failed. {}", typeReference, e);
throw new RuntimeException("Json to object failed.", e);
}
@@ -138,7 +138,7 @@ public final class JacksonUtils {
}
return new HashMap<>();
}
- catch (JsonProcessingException e) {
+ catch (JacksonException e) {
LOG.error(
"Json to map failed. check if the format of the json string[{}] is correct.", jsonStr, e);
throw new RuntimeException("Json to map failed.", e);
diff --git a/spring-cloud-tencent-commons/src/main/java/org/springframework/tsf/core/entity/Tag.java b/spring-cloud-tencent-commons/src/main/java/org/springframework/tsf/core/entity/Tag.java
index 49faf9282..c0abdec59 100644
--- a/spring-cloud-tencent-commons/src/main/java/org/springframework/tsf/core/entity/Tag.java
+++ b/spring-cloud-tencent-commons/src/main/java/org/springframework/tsf/core/entity/Tag.java
@@ -40,7 +40,7 @@ public class Tag implements Serializable {
public Tag(String key, String value, ControlFlag... flags) {
this.key = key;
this.value = value;
- this.flags = new HashSet<>(Arrays.asList(flags));
+ this.flags = flags != null ? new HashSet<>(Arrays.asList(flags)) : new HashSet<>();
}
public Tag() {
diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/async/PolarisAsyncPropertiesTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/async/PolarisAsyncPropertiesTest.java
index c01af56c1..2bc43e39d 100644
--- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/async/PolarisAsyncPropertiesTest.java
+++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/async/PolarisAsyncPropertiesTest.java
@@ -35,7 +35,8 @@ import static org.assertj.core.api.Assertions.assertThat;
@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
classes = PolarisAsyncPropertiesTest.TestApplication.class,
- properties = {"spring.config.location = classpath:application-test.yml"})
+ properties = {"spring.config.location = classpath:application-test.yml",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class PolarisAsyncPropertiesTest {
@Autowired
diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/MetadataContextHolderTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/MetadataContextHolderTest.java
index 2380aa03c..e638bcf25 100644
--- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/MetadataContextHolderTest.java
+++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/MetadataContextHolderTest.java
@@ -37,7 +37,8 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
classes = MetadataContextHolderTest.TestApplication.class,
properties = {"spring.config.location = classpath:application-test.yml",
- "spring.main.web-application-type = reactive"})
+ "spring.main.web-application-type = reactive",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class MetadataContextHolderTest {
@Test
diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/MetadataContextTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/MetadataContextTest.java
index 4e8e0b977..2826af56b 100644
--- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/MetadataContextTest.java
+++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/MetadataContextTest.java
@@ -39,7 +39,8 @@ import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
classes = MetadataContextTest.TestApplication.class,
properties = {"spring.config.location = classpath:application-test.yml",
- "spring.main.web-application-type = reactive"})
+ "spring.main.web-application-type = reactive",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class MetadataContextTest {
private MetadataContext metadataContext;
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 c3c935a38..f98431a6c 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
@@ -35,7 +35,10 @@ import static org.assertj.core.api.Assertions.assertThat;
@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
classes = MetadataLocalPropertiesTest.TestApplication.class,
- properties = {"spring.config.location = classpath:application-test.yml"})
+ properties = {"spring.config.location = classpath:application-test.yml",
+ "spring.main.web-application-type = servlet",
+ "spring.cloud.gateway.enabled = false",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class MetadataLocalPropertiesTest {
@Autowired
diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/BeanFactoryUtilsTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/BeanFactoryUtilsTest.java
index 09a930ec0..4b4088efb 100644
--- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/BeanFactoryUtilsTest.java
+++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/BeanFactoryUtilsTest.java
@@ -26,6 +26,7 @@ import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.support.RootBeanDefinition;
+import org.springframework.core.ParameterizedTypeReference;
import org.springframework.core.ResolvableType;
import static org.assertj.core.api.Assertions.assertThat;
@@ -115,6 +116,11 @@ public class BeanFactoryUtilsTest {
return null;
}
+ @Override
+ public ObjectProvider getBeanProvider(ParameterizedTypeReference requiredType) {
+ return null;
+ }
+
@Override
public boolean containsBean(String s) {
return false;
diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/JacksonUtilsTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/JacksonUtilsTest.java
index e31efb849..71be0b737 100644
--- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/JacksonUtilsTest.java
+++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/JacksonUtilsTest.java
@@ -21,10 +21,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import com.fasterxml.jackson.core.type.TypeReference;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.junit.jupiter.MockitoExtension;
+import tools.jackson.core.type.TypeReference;
import org.springframework.tsf.core.entity.Tag;
import org.springframework.util.StringUtils;
diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/OkHttpUtilTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/OkHttpUtilTest.java
index 031c7176e..53762f906 100644
--- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/OkHttpUtilTest.java
+++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/OkHttpUtilTest.java
@@ -42,7 +42,8 @@ import static org.assertj.core.api.Assertions.assertThat;
properties = {
"spring.application.name=test",
"spring.cloud.polaris.discovery.register=false",
- "spring.cloud.gateway.enabled=false"
+ "spring.cloud.gateway.enabled=false",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"
})
public class OkHttpUtilTest {
diff --git a/spring-cloud-tencent-dependencies/pom.xml b/spring-cloud-tencent-dependencies/pom.xml
index d81a674ea..d5f98f521 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
- 4.2.4
+ 5.0.1
4.0.0
@@ -71,7 +71,7 @@
- 2.1.2.0-2024.0.3-SNAPSHOT
+ 2.1.2.0-2025.1.1-SNAPSHOT
2.1.2.0-SNAPSHOT
diff --git a/spring-cloud-tencent-examples/polaris-router-grayrelease-lane-example/router-grayrelease-lane-gateway/pom.xml b/spring-cloud-tencent-examples/polaris-router-grayrelease-lane-example/router-grayrelease-lane-gateway/pom.xml
index 81e3214b4..cf8267c7b 100644
--- a/spring-cloud-tencent-examples/polaris-router-grayrelease-lane-example/router-grayrelease-lane-gateway/pom.xml
+++ b/spring-cloud-tencent-examples/polaris-router-grayrelease-lane-example/router-grayrelease-lane-gateway/pom.xml
@@ -25,7 +25,7 @@
org.springframework.cloud
- spring-cloud-starter-gateway
+ spring-cloud-starter-gateway-server-webflux
diff --git a/spring-cloud-tencent-examples/quickstart-example/quickstart-gateway-mvc-service/pom.xml b/spring-cloud-tencent-examples/quickstart-example/quickstart-gateway-mvc-service/pom.xml
index 33a37a878..a4e718f2a 100644
--- a/spring-cloud-tencent-examples/quickstart-example/quickstart-gateway-mvc-service/pom.xml
+++ b/spring-cloud-tencent-examples/quickstart-example/quickstart-gateway-mvc-service/pom.xml
@@ -21,7 +21,7 @@
org.springframework.cloud
- spring-cloud-starter-gateway-mvc
+ spring-cloud-starter-gateway-server-webmvc
diff --git a/spring-cloud-tencent-examples/quickstart-example/quickstart-gateway-service/pom.xml b/spring-cloud-tencent-examples/quickstart-example/quickstart-gateway-service/pom.xml
index 81e4e1df9..b4055a949 100644
--- a/spring-cloud-tencent-examples/quickstart-example/quickstart-gateway-service/pom.xml
+++ b/spring-cloud-tencent-examples/quickstart-example/quickstart-gateway-service/pom.xml
@@ -21,7 +21,7 @@
org.springframework.cloud
- spring-cloud-starter-gateway
+ spring-cloud-starter-gateway-server-webflux
diff --git a/spring-cloud-tencent-examples/tsf-example/consumer-demo/src/main/java/com/tencent/cloud/tsf/demo/consumer/ConsumerApplication.java b/spring-cloud-tencent-examples/tsf-example/consumer-demo/src/main/java/com/tencent/cloud/tsf/demo/consumer/ConsumerApplication.java
index d7cb567c9..7aa793f34 100644
--- a/spring-cloud-tencent-examples/tsf-example/consumer-demo/src/main/java/com/tencent/cloud/tsf/demo/consumer/ConsumerApplication.java
+++ b/spring-cloud-tencent-examples/tsf-example/consumer-demo/src/main/java/com/tencent/cloud/tsf/demo/consumer/ConsumerApplication.java
@@ -35,8 +35,8 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.restclient.RestTemplateBuilder;
import org.springframework.boot.ssl.SslBundles;
-import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.cloud.openfeign.EnableFeignClients;
diff --git a/spring-cloud-tencent-examples/tsf-example/msgw-scg/pom.xml b/spring-cloud-tencent-examples/tsf-example/msgw-scg/pom.xml
index 135d28ea2..16e7f9f95 100644
--- a/spring-cloud-tencent-examples/tsf-example/msgw-scg/pom.xml
+++ b/spring-cloud-tencent-examples/tsf-example/msgw-scg/pom.xml
@@ -21,7 +21,7 @@
org.springframework.cloud
- spring-cloud-starter-gateway
+ spring-cloud-starter-gateway-server-webflux
diff --git a/spring-cloud-tencent-examples/tsf-example/provider-demo/src/main/java/com/tencent/cloud/tsf/demo/provider/swagger/controller/SwaggerApiController.java b/spring-cloud-tencent-examples/tsf-example/provider-demo/src/main/java/com/tencent/cloud/tsf/demo/provider/swagger/controller/SwaggerApiController.java
index 635f49401..771df81cb 100644
--- a/spring-cloud-tencent-examples/tsf-example/provider-demo/src/main/java/com/tencent/cloud/tsf/demo/provider/swagger/controller/SwaggerApiController.java
+++ b/spring-cloud-tencent-examples/tsf-example/provider-demo/src/main/java/com/tencent/cloud/tsf/demo/provider/swagger/controller/SwaggerApiController.java
@@ -44,7 +44,7 @@ import org.springframework.web.bind.annotation.RestController;
@Tag(description = "swagger 测试", name = "swaggerValue1")
public class SwaggerApiController {
- @RequestMapping(value = "/swagger/findMessages", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+ @RequestMapping(value = "/swagger/findMessages", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(method = "POST",
summary = "根据任务ID查询任务列表",
description = "根据任务ID查询任务列表Note")
@@ -85,7 +85,7 @@ public class SwaggerApiController {
@Operation(summary = "获取消息详情", method = "GET", description = "获取消息内容Note")
@ApiResponses({@ApiResponse(responseCode = "200", description = "abcdef", content = @Content(schema = @Schema(implementation = MessageModel.class)))})
- @RequestMapping(value = "/swagger/getMessageDetail", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+ @RequestMapping(value = "/swagger/getMessageDetail", produces = MediaType.APPLICATION_JSON_VALUE)
public MessageModel getMessageDetail(@RequestParam(name = "id")
@Parameter(description = "消息ID", name = "id") String msgId) {
MessageModel messageModel = new MessageModel();
@@ -109,7 +109,7 @@ public class SwaggerApiController {
@Operation(summary = "获取投递箱详情", method = "GET", description = "")
@ApiResponses({@ApiResponse(responseCode = "200", description = "获取投递箱成功", content = @Content(schema = @Schema(implementation = MessageBox.class)))})
- @RequestMapping(value = "/swagger/getMessageBox", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+ @RequestMapping(value = "/swagger/getMessageBox", produces = MediaType.APPLICATION_JSON_VALUE)
public MessageBox getMessageBox(@RequestParam @Parameter(required = true, description = "投递箱ID") String boxId,
@RequestParam @Parameter(name = "sizeLimit", example = "10", description = "投递箱最大投递数") int maxSizeLimit) {
return new MessageBox();
@@ -117,7 +117,7 @@ public class SwaggerApiController {
@Operation(summary = "获取投递箱详情V2", method = "POST", description = "")
@ApiResponses({@ApiResponse(responseCode = "200", description = "获取投递箱成功", content = @Content(schema = @Schema(implementation = MessageBox.class)))})
- @RequestMapping(value = "/swagger/v2/getMessageBox", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+ @RequestMapping(value = "/swagger/v2/getMessageBox", produces = MediaType.APPLICATION_JSON_VALUE)
public MessageBox getMessageBoxV2(@RequestBody
@Parameter(required = true, name = "messageBox", example = "投递箱信息") MessageBox messageBox) {
return new MessageBox();
@@ -125,7 +125,7 @@ public class SwaggerApiController {
@Operation(summary = "获取投递箱详情V3", method = "POST", description = "")
@ApiResponses({@ApiResponse(responseCode = "200", description = "获取投递箱成功", content = @Content(schema = @Schema(implementation = Map.class)))})
- @RequestMapping(value = "/swagger/v3/getMessageBox", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+ @RequestMapping(value = "/swagger/v3/getMessageBox", produces = MediaType.APPLICATION_JSON_VALUE)
public Map queryMessageBoxV3(@RequestBody
@Parameter(required = true, name = "messageBox", example = "投递箱信息") MessageBox messageBox) {
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-fault-tolerance/pom.xml b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-fault-tolerance/pom.xml
index 26742c5ac..3e24100f2 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-fault-tolerance/pom.xml
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-fault-tolerance/pom.xml
@@ -16,7 +16,7 @@
org.springframework.boot
- spring-boot-starter-aop
+ spring-boot-starter-aspectj
org.springframework.boot
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/pom.xml b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/pom.xml
index 4690f32c7..dda733782 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/pom.xml
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/pom.xml
@@ -32,7 +32,7 @@
org.springframework.cloud
- spring-cloud-gateway-server
+ spring-cloud-gateway-server-webflux
true
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/cloud/plugin/gateway/context/ContextGatewayFilter.java b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/cloud/plugin/gateway/context/ContextGatewayFilter.java
index 288b60502..2b73ef5f2 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/cloud/plugin/gateway/context/ContextGatewayFilter.java
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/cloud/plugin/gateway/context/ContextGatewayFilter.java
@@ -529,7 +529,7 @@ public class ContextGatewayFilter implements GatewayFilter, Ordered {
private Map copyRequestHeader(ServerHttpRequest request) {
Map headerMap = new LinkedHashMap<>();
HttpHeaders headers = request.getHeaders();
- for (Map.Entry> entry : headers.entrySet()) {
+ for (Map.Entry> entry : headers.headerSet()) {
if (!entry.getValue().isEmpty()) {
headerMap.put(entry.getKey(), entry.getValue().get(0));
}
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/tsf/gateway/core/model/RequestTransformerPlugin.java b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/tsf/gateway/core/model/RequestTransformerPlugin.java
index 51a5f3ed2..73f34620f 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/tsf/gateway/core/model/RequestTransformerPlugin.java
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/tsf/gateway/core/model/RequestTransformerPlugin.java
@@ -18,11 +18,11 @@
package com.tencent.tsf.gateway.core.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.core.type.TypeReference;
import com.tencent.cloud.common.util.JacksonUtils;
import com.tencent.polaris.api.utils.StringUtils;
import com.tencent.tsf.gateway.core.exception.TsfGatewayError;
import com.tencent.tsf.gateway.core.exception.TsfGatewayException;
+import tools.jackson.core.type.TypeReference;
public class RequestTransformerPlugin extends PluginInfo {
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/tsf/gateway/core/util/PluginUtil.java b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/tsf/gateway/core/util/PluginUtil.java
index 5a4f5e0cf..6422c52b3 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/tsf/gateway/core/util/PluginUtil.java
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/tsf/gateway/core/util/PluginUtil.java
@@ -25,7 +25,6 @@ import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import com.fasterxml.jackson.core.type.TypeReference;
import com.tencent.cloud.common.util.JacksonUtils;
import com.tencent.cloud.plugin.gateway.context.Position;
import com.tencent.polaris.api.utils.CollectionUtils;
@@ -50,6 +49,7 @@ import org.apache.commons.collections.MapUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import shade.polaris.com.google.common.base.Joiner;
+import tools.jackson.core.type.TypeReference;
import org.springframework.tsf.core.TsfContext;
import org.springframework.tsf.core.entity.Tag;
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/test/java/com/tencent/tsf/gateway/core/model/RequestTransformerPluginTest.java b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/test/java/com/tencent/tsf/gateway/core/model/RequestTransformerPluginTest.java
index aed60a97d..7f4928056 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/test/java/com/tencent/tsf/gateway/core/model/RequestTransformerPluginTest.java
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/test/java/com/tencent/tsf/gateway/core/model/RequestTransformerPluginTest.java
@@ -20,11 +20,11 @@ package com.tencent.tsf.gateway.core.model;
import java.util.ArrayList;
import java.util.List;
-import com.fasterxml.jackson.core.type.TypeReference;
import com.tencent.cloud.common.util.JacksonUtils;
import com.tencent.cloud.plugin.gateway.context.Position;
import com.tencent.tsf.gateway.core.exception.TsfGatewayException;
import org.junit.jupiter.api.Test;
+import tools.jackson.core.type.TypeReference;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatNoException;
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-mq-plugin/pom.xml b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-mq-plugin/pom.xml
index bbac23a7c..9bbe614e9 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-mq-plugin/pom.xml
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-mq-plugin/pom.xml
@@ -22,7 +22,7 @@
org.springframework.boot
- spring-boot-starter-aop
+ spring-boot-starter-aspectj
org.springframework.boot
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-tsf-tls-plugin/src/main/java/com/tencent/cloud/plugin/tsf/tls/TlsEnvironmentPostProcessor.java b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-tsf-tls-plugin/src/main/java/com/tencent/cloud/plugin/tsf/tls/TlsEnvironmentPostProcessor.java
index 75121652e..f54753c8a 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-tsf-tls-plugin/src/main/java/com/tencent/cloud/plugin/tsf/tls/TlsEnvironmentPostProcessor.java
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-tsf-tls-plugin/src/main/java/com/tencent/cloud/plugin/tsf/tls/TlsEnvironmentPostProcessor.java
@@ -25,8 +25,8 @@ import com.tencent.cloud.polaris.context.config.extend.tsf.TsfTlsProperties;
import com.tencent.polaris.api.utils.ClassUtils;
import com.tencent.polaris.api.utils.StringUtils;
+import org.springframework.boot.EnvironmentPostProcessor;
import org.springframework.boot.SpringApplication;
-import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.core.Ordered;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.MapPropertySource;
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-tsf-tls-plugin/src/main/resources/META-INF/spring.factories b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-tsf-tls-plugin/src/main/resources/META-INF/spring.factories
index 9fe401eda..af9928f48 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-tsf-tls-plugin/src/main/resources/META-INF/spring.factories
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-tsf-tls-plugin/src/main/resources/META-INF/spring.factories
@@ -1,2 +1,2 @@
-org.springframework.boot.env.EnvironmentPostProcessor=\
+org.springframework.boot.EnvironmentPostProcessor=\
com.tencent.cloud.plugin.tsf.tls.TlsEnvironmentPostProcessor
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-lossless-plugin/pom.xml b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-lossless-plugin/pom.xml
index 84c9f10b8..89f517eea 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-lossless-plugin/pom.xml
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-lossless-plugin/pom.xml
@@ -22,7 +22,7 @@
org.springframework.boot
- spring-boot-starter-aop
+ spring-boot-starter-aspectj
org.springframework.boot
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/pom.xml b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/pom.xml
index cde3a90bd..fd382946f 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/pom.xml
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/pom.xml
@@ -28,13 +28,13 @@
- com.fasterxml.jackson.core
+ tools.jackson.core
jackson-databind
true
- com.fasterxml.jackson.dataformat
+ tools.jackson.dataformat
jackson-dataformat-yaml
true
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/TencentUnitContext.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/TencentUnitContext.java
index 034ac32ed..780b9f983 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/TencentUnitContext.java
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/TencentUnitContext.java
@@ -26,7 +26,6 @@ import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import com.fasterxml.jackson.core.type.TypeReference;
import com.tencent.cloud.common.metadata.MetadataContextHolder;
import com.tencent.cloud.common.util.JacksonUtils;
import com.tencent.cloud.common.util.MetadataContextUtils;
@@ -36,6 +35,7 @@ import com.tencent.polaris.metadata.core.MetadataType;
import com.tencent.tsf.unit.core.model.UnitRouteInfo.GrayMatchRouteUnit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import tools.jackson.core.type.TypeReference;
public final class TencentUnitContext {
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/mapping/impl/CustomerMappingService.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/mapping/impl/CustomerMappingService.java
index 6846a396a..11319a722 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/mapping/impl/CustomerMappingService.java
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/mapping/impl/CustomerMappingService.java
@@ -20,7 +20,6 @@ package com.tencent.tsf.unit.core.mapping.impl;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.tencent.polaris.api.utils.StringUtils;
import com.tencent.tsf.unit.core.TencentUnitManager;
import com.tencent.tsf.unit.core.exception.ErrorCode;
@@ -33,6 +32,7 @@ import shade.polaris.okhttp3.HttpUrl;
import shade.polaris.okhttp3.OkHttpClient;
import shade.polaris.okhttp3.Request;
import shade.polaris.okhttp3.Response;
+import tools.jackson.databind.json.JsonMapper;
public class CustomerMappingService implements IMappingService {
@@ -74,8 +74,8 @@ public class CustomerMappingService implements IMappingService {
throw new TencentUnitException(ErrorCode.MAPPING_RESPONSE_EMPTY_BODY_ERROR, msg);
}
- ObjectMapper objectMapper = new ObjectMapper();
- MappingEntity entity = objectMapper.readValue(response.body().string(), MappingEntity.class);
+ JsonMapper JsonMapper = new JsonMapper();
+ MappingEntity entity = JsonMapper.readValue(response.body().string(), MappingEntity.class);
response.body().close();
return entity;
}
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/remote/TencentUnitArchKVLoader.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/remote/TencentUnitArchKVLoader.java
index 07e086e6e..48d1c75a9 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/remote/TencentUnitArchKVLoader.java
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/remote/TencentUnitArchKVLoader.java
@@ -21,16 +21,15 @@ import com.ecwid.consul.v1.ConsulClient;
import com.ecwid.consul.v1.QueryParams;
import com.ecwid.consul.v1.Response;
import com.ecwid.consul.v1.kv.model.GetValue;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.tencent.cloud.common.util.GzipUtil;
import com.tencent.tsf.unit.core.Env;
import com.tencent.tsf.unit.core.TencentUnitManager;
import com.tencent.tsf.unit.core.model.UnitArch;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.dataformat.yaml.YAMLMapper;
public final class TencentUnitArchKVLoader {
@@ -91,11 +90,11 @@ public final class TencentUnitArchKVLoader {
}
}
- public static void loadUnitArch(String content) throws JsonProcessingException {
+ public static void loadUnitArch(String content) throws JacksonException {
LOGGER.info("[unit] unit arch config old raw content:\n{}", rawContent);
- ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ YAMLMapper mapper = new YAMLMapper();
+ mapper.rebuild().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
TencentUnitManager.setUnitArch(mapper.readValue(content, UnitArch.class));
rawContent = content;
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/remote/TencentUnitGrayKVLoader.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/remote/TencentUnitGrayKVLoader.java
index 22837897f..a1fc9c51d 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/remote/TencentUnitGrayKVLoader.java
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/remote/TencentUnitGrayKVLoader.java
@@ -21,16 +21,15 @@ import com.ecwid.consul.v1.ConsulClient;
import com.ecwid.consul.v1.QueryParams;
import com.ecwid.consul.v1.Response;
import com.ecwid.consul.v1.kv.model.GetValue;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.tencent.cloud.common.util.GzipUtil;
import com.tencent.tsf.unit.core.Env;
import com.tencent.tsf.unit.core.TencentUnitManager;
import com.tencent.tsf.unit.core.model.UnitGray;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.dataformat.yaml.YAMLMapper;
public final class TencentUnitGrayKVLoader {
@@ -89,11 +88,11 @@ public final class TencentUnitGrayKVLoader {
}
}
- public static void loadUnitGray(String content) throws JsonProcessingException {
+ public static void loadUnitGray(String content) throws JacksonException {
LOGGER.info("[unit] unit gray old raw content:\n{}", rawContent);
- ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ YAMLMapper mapper = new YAMLMapper();
+ mapper.rebuild().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
TencentUnitManager.setUnitGray(mapper.readValue(content, UnitGray.class));
rawContent = content;
diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/remote/TencentUnitRouteRuleKVLoader.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/remote/TencentUnitRouteRuleKVLoader.java
index 6e9718fb0..db3c17403 100644
--- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/remote/TencentUnitRouteRuleKVLoader.java
+++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/tsf/unit/core/remote/TencentUnitRouteRuleKVLoader.java
@@ -21,16 +21,15 @@ import com.ecwid.consul.v1.ConsulClient;
import com.ecwid.consul.v1.QueryParams;
import com.ecwid.consul.v1.Response;
import com.ecwid.consul.v1.kv.model.GetValue;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.tencent.cloud.common.util.GzipUtil;
import com.tencent.tsf.unit.core.Env;
import com.tencent.tsf.unit.core.TencentUnitManager;
import com.tencent.tsf.unit.core.model.UnitRouteInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.dataformat.yaml.YAMLMapper;
public final class TencentUnitRouteRuleKVLoader {
@@ -89,11 +88,11 @@ public final class TencentUnitRouteRuleKVLoader {
}
}
- public static void loadUnitRouteRule(String content) throws JsonProcessingException {
+ public static void loadUnitRouteRule(String content) throws JacksonException {
LOGGER.info("[unit] unit route rule old raw content:\n{}", rawContent);
- ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ YAMLMapper mapper = new YAMLMapper();
+ mapper.rebuild().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
TencentUnitManager.setUnitRouteRule(mapper.readValue(content, UnitRouteInfo.class));
rawContent = content;
diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextEnvironmentPostProcessor.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextEnvironmentPostProcessor.java
index 74eef69b5..a008daefb 100644
--- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextEnvironmentPostProcessor.java
+++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextEnvironmentPostProcessor.java
@@ -23,9 +23,9 @@ import java.util.Map;
import com.tencent.polaris.api.utils.StringUtils;
import org.apache.commons.logging.Log;
+import org.springframework.boot.EnvironmentPostProcessor;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor;
-import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.boot.logging.DeferredLogFactory;
import org.springframework.core.Ordered;
import org.springframework.core.env.ConfigurableEnvironment;
diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/extend/tsf/TsfCoreEnvironmentPostProcessor.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/extend/tsf/TsfCoreEnvironmentPostProcessor.java
index 07c841dc7..2e1e9584d 100644
--- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/extend/tsf/TsfCoreEnvironmentPostProcessor.java
+++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/extend/tsf/TsfCoreEnvironmentPostProcessor.java
@@ -26,9 +26,9 @@ import com.tencent.polaris.api.utils.StringUtils;
import com.tencent.polaris.plugins.router.lane.BaseLaneMode;
import org.apache.commons.logging.Log;
+import org.springframework.boot.EnvironmentPostProcessor;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor;
-import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.boot.logging.DeferredLogFactory;
import org.springframework.core.Ordered;
import org.springframework.core.env.ConfigurableEnvironment;
diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/extend/tsf/TsfLastEnvironmentPostProcessor.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/extend/tsf/TsfLastEnvironmentPostProcessor.java
index 9f7bede36..876c442ed 100644
--- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/extend/tsf/TsfLastEnvironmentPostProcessor.java
+++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/extend/tsf/TsfLastEnvironmentPostProcessor.java
@@ -24,9 +24,9 @@ import com.tencent.cloud.common.tsf.TsfContextUtils;
import com.tencent.polaris.api.utils.StringUtils;
import org.apache.commons.logging.Log;
+import org.springframework.boot.EnvironmentPostProcessor;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor;
-import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.boot.logging.DeferredLogFactory;
import org.springframework.core.Ordered;
import org.springframework.core.env.ConfigurableEnvironment;
diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/logging/PolarisLoggingApplicationListener.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/logging/PolarisLoggingApplicationListener.java
index 4a0f4059d..342d50882 100644
--- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/logging/PolarisLoggingApplicationListener.java
+++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/logging/PolarisLoggingApplicationListener.java
@@ -25,7 +25,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent;
import org.springframework.boot.context.event.ApplicationFailedEvent;
import org.springframework.boot.context.logging.LoggingApplicationListener;
-import org.springframework.boot.web.context.WebServerInitializedEvent;
+import org.springframework.boot.web.server.context.WebServerInitializedEvent;
import org.springframework.cloud.context.environment.EnvironmentChangeEvent;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ConfigurableApplicationContext;
diff --git a/spring-cloud-tencent-polaris-context/src/main/resources/META-INF/spring.factories b/spring-cloud-tencent-polaris-context/src/main/resources/META-INF/spring.factories
index db696eb8e..994e665de 100644
--- a/spring-cloud-tencent-polaris-context/src/main/resources/META-INF/spring.factories
+++ b/spring-cloud-tencent-polaris-context/src/main/resources/META-INF/spring.factories
@@ -3,7 +3,7 @@ org.springframework.cloud.bootstrap.BootstrapConfiguration=\
org.springframework.context.ApplicationListener=\
com.tencent.cloud.polaris.context.logging.PolarisLoggingApplicationListener,\
com.tencent.cloud.polaris.context.listener.FailedEventApplicationListener
-org.springframework.boot.env.EnvironmentPostProcessor=\
+org.springframework.boot.EnvironmentPostProcessor=\
com.tencent.cloud.polaris.context.config.PolarisContextEnvironmentPostProcessor,\
com.tencent.cloud.polaris.context.config.extend.tsf.TsfCoreEnvironmentPostProcessor,\
com.tencent.cloud.polaris.context.config.extend.tsf.TsfLastEnvironmentPostProcessor
diff --git a/spring-cloud-tencent-rpc-enhancement/pom.xml b/spring-cloud-tencent-rpc-enhancement/pom.xml
index bc67386be..08e919c93 100644
--- a/spring-cloud-tencent-rpc-enhancement/pom.xml
+++ b/spring-cloud-tencent-rpc-enhancement/pom.xml
@@ -23,7 +23,7 @@
org.springframework.boot
- spring-boot-starter-aop
+ spring-boot-starter-aspectj
org.springframework.boot
@@ -55,7 +55,7 @@
org.springframework.cloud
- spring-cloud-gateway-server
+ spring-cloud-gateway-server-webflux
true
diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/instrument/filter/EnhancedReactiveFilter.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/instrument/filter/EnhancedReactiveFilter.java
index e624221c6..ba15cb117 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/instrument/filter/EnhancedReactiveFilter.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/instrument/filter/EnhancedReactiveFilter.java
@@ -69,7 +69,7 @@ public class EnhancedReactiveFilter implements WebFilter, Ordered {
enhancedPluginContext.setDelay(System.currentTimeMillis() - startMillis);
EnhancedResponseContext enhancedResponseContext = EnhancedResponseContext.builder()
- .httpStatus(exchange.getResponse().getRawStatusCode())
+ .httpStatus(exchange.getResponse().getStatusCode().value())
.httpHeaders(exchange.getResponse().getHeaders())
.build();
enhancedPluginContext.setResponse(enhancedResponseContext);
diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/instrument/scg/EnhancedGatewayGlobalFilter.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/instrument/scg/EnhancedGatewayGlobalFilter.java
index 721e8fd64..c80b7258d 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/instrument/scg/EnhancedGatewayGlobalFilter.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/instrument/scg/EnhancedGatewayGlobalFilter.java
@@ -46,6 +46,7 @@ import org.springframework.cloud.gateway.route.Route;
import org.springframework.core.Ordered;
import org.springframework.core.io.buffer.DataBuffer;
import org.springframework.http.HttpStatus;
+import org.springframework.http.HttpStatusCode;
import org.springframework.http.server.reactive.ServerHttpResponse;
import org.springframework.web.server.ServerWebExchange;
@@ -177,7 +178,7 @@ public class EnhancedGatewayGlobalFilter implements GlobalFilter, Ordered {
enhancedPluginContext.setDelay(System.currentTimeMillis() - startTime);
EnhancedResponseContext enhancedResponseContext = EnhancedResponseContext.builder()
- .httpStatus(exchange.getResponse().getRawStatusCode())
+ .httpStatus(Optional.ofNullable(exchange.getResponse().getStatusCode()).map(HttpStatusCode::value).orElse(null))
.httpHeaders(exchange.getResponse().getHeaders())
.build();
enhancedPluginContext.setResponse(enhancedResponseContext);
@@ -222,7 +223,7 @@ public class EnhancedGatewayGlobalFilter implements GlobalFilter, Ordered {
if (uri != null) {
if (route != null && route.getUri().getScheme()
.contains("lb") && StringUtils.isNotEmpty(serviceId)) {
- DefaultServiceInstance serviceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance serviceInstance = new DefaultServiceInstance(null, null, null, 0, false);
serviceInstance.setServiceId(serviceId);
serviceInstance.setHost(uri.getHost());
serviceInstance.setPort(uri.getPort());
diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/DefaultEnhancedPluginRunner.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/DefaultEnhancedPluginRunner.java
index 090473ace..5b4db469d 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/DefaultEnhancedPluginRunner.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/DefaultEnhancedPluginRunner.java
@@ -67,7 +67,7 @@ public class DefaultEnhancedPluginRunner implements EnhancedPluginRunner {
localServiceInstance = registration;
}
else {
- DefaultServiceInstance defaultServiceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance defaultServiceInstance = new DefaultServiceInstance(null, null, null, 0, false);
defaultServiceInstance.setServiceId(MetadataContext.LOCAL_SERVICE);
defaultServiceInstance.setHost(sdkContext.getConfig().getGlobal().getAPI().getBindIP());
localServiceInstance = defaultServiceInstance;
diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/EnhancedPluginContext.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/EnhancedPluginContext.java
index cde4ae0ce..fcdb2fead 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/EnhancedPluginContext.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/EnhancedPluginContext.java
@@ -121,7 +121,7 @@ public class EnhancedPluginContext {
this.targetServiceInstance = targetServiceInstance;
}
else if (Objects.nonNull(url)) {
- DefaultServiceInstance defaultServiceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance defaultServiceInstance = new DefaultServiceInstance(null, null, null, 0, false);
defaultServiceInstance.setUri(url);
if (defaultServiceInstance.isSecure()) {
defaultServiceInstance.setPort(443);
@@ -132,7 +132,7 @@ public class EnhancedPluginContext {
this.targetServiceInstance = defaultServiceInstance;
}
else {
- this.targetServiceInstance = new DefaultServiceInstance();
+ this.targetServiceInstance = new DefaultServiceInstance(null, null, null, 0, false);
LOGGER.warn("TargetServiceInstance is empty.");
}
}
diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/PolarisEnhancedPluginUtils.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/PolarisEnhancedPluginUtils.java
index 26f4bee64..8411a7ac8 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/PolarisEnhancedPluginUtils.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/PolarisEnhancedPluginUtils.java
@@ -29,9 +29,6 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.tencent.cloud.common.constant.HeaderConstant;
import com.tencent.cloud.common.constant.MetadataConstant;
import com.tencent.cloud.common.constant.RouterConstant;
@@ -50,6 +47,9 @@ import com.tencent.polaris.api.utils.CollectionUtils;
import com.tencent.polaris.api.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import tools.jackson.core.JacksonException;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.json.JsonMapper;
import org.springframework.beans.BeansException;
import org.springframework.http.HttpHeaders;
@@ -204,7 +204,7 @@ public final class PolarisEnhancedPluginUtils {
}
static RetStatus getRetStatusFromRequest(HttpHeaders headers, RetStatus defaultVal) {
- if (headers != null && headers.containsKey(HeaderConstant.INTERNAL_CALLEE_RET_STATUS)) {
+ if (headers != null && headers.containsHeader(HeaderConstant.INTERNAL_CALLEE_RET_STATUS)) {
List values = headers.get(HeaderConstant.INTERNAL_CALLEE_RET_STATUS);
if (CollectionUtils.isNotEmpty(values)) {
String retStatusVal = com.tencent.polaris.api.utils.StringUtils.defaultString(values.get(0));
@@ -220,7 +220,7 @@ public final class PolarisEnhancedPluginUtils {
}
static String getActiveRuleNameFromRequest(HttpHeaders headers) {
- if (headers != null && headers.containsKey(HeaderConstant.INTERNAL_ACTIVE_RULE_NAME)) {
+ if (headers != null && headers.containsHeader(HeaderConstant.INTERNAL_ACTIVE_RULE_NAME)) {
Collection values = headers.get(HeaderConstant.INTERNAL_ACTIVE_RULE_NAME);
if (CollectionUtils.isNotEmpty(values)) {
String decodedActiveRuleName = "";
@@ -285,9 +285,9 @@ public final class PolarisEnhancedPluginUtils {
LOG.error("unsupported charset exception " + UTF_8, e);
}
try {
- return new ObjectMapper().readValue(label, new TypeReference>() { });
+ return new JsonMapper().readValue(label, new TypeReference>() { });
}
- catch (JsonProcessingException e) {
+ catch (JacksonException e) {
LOG.error("parse label map exception", e);
}
}
diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/ExceptionPolarisReporter.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/ExceptionPolarisReporter.java
index 7e9cbab27..8bef9c67c 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/ExceptionPolarisReporter.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/ExceptionPolarisReporter.java
@@ -72,8 +72,8 @@ public class ExceptionPolarisReporter implements EnhancedPlugin {
}
EnhancedRequestContext request = context.getRequest();
- ServiceInstance callerServiceInstance = Optional.ofNullable(context.getLocalServiceInstance()).orElse(new DefaultServiceInstance());
- ServiceInstance calleeServiceInstance = Optional.ofNullable(context.getTargetServiceInstance()).orElse(new DefaultServiceInstance());
+ ServiceInstance callerServiceInstance = Optional.ofNullable(context.getLocalServiceInstance()).orElse(new DefaultServiceInstance(null, null, null, 0, false));
+ ServiceInstance calleeServiceInstance = Optional.ofNullable(context.getTargetServiceInstance()).orElse(new DefaultServiceInstance(null, null, null, 0, false));
ServiceCallResult resultRequest = PolarisEnhancedPluginUtils.createServiceCallResult(
callerServiceInstance.getHost(),
diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/SuccessPolarisReporter.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/SuccessPolarisReporter.java
index 8c195e63e..c3ae9efa5 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/SuccessPolarisReporter.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/SuccessPolarisReporter.java
@@ -73,8 +73,8 @@ public class SuccessPolarisReporter implements EnhancedPlugin {
EnhancedRequestContext request = context.getRequest();
EnhancedResponseContext response = context.getResponse();
- ServiceInstance callerServiceInstance = Optional.ofNullable(context.getLocalServiceInstance()).orElse(new DefaultServiceInstance());
- ServiceInstance calleeServiceInstance = Optional.ofNullable(context.getTargetServiceInstance()).orElse(new DefaultServiceInstance());
+ ServiceInstance callerServiceInstance = Optional.ofNullable(context.getLocalServiceInstance()).orElse(new DefaultServiceInstance(null, null, null, 0, false));
+ ServiceInstance calleeServiceInstance = Optional.ofNullable(context.getTargetServiceInstance()).orElse(new DefaultServiceInstance(null, null, null, 0, false));
ServiceCallResult resultRequest = PolarisEnhancedPluginUtils.createServiceCallResult(
callerServiceInstance.getHost(),
diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementAutoConfigurationTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementAutoConfigurationTest.java
index be2a6ad18..fc25d6305 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementAutoConfigurationTest.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementAutoConfigurationTest.java
@@ -49,7 +49,8 @@ public class RpcEnhancementAutoConfigurationTest {
RpcEnhancementAutoConfiguration.class,
PolarisRestTemplateAutoConfigurationTester.class,
FeignLoadBalancerAutoConfiguration.class))
- .withPropertyValues("spring.cloud.polaris.circuitbreaker.enabled=true", "spring.application.name=test", "spring.cloud.gateway.enabled=false");
+ .withPropertyValues("spring.cloud.polaris.circuitbreaker.enabled=true", "spring.application.name=test", "spring.cloud.gateway.enabled=false",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration");
@Test
public void testDefaultInitialization() {
diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementPropertiesTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementPropertiesTest.java
index cafd558bf..d9f7a39eb 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementPropertiesTest.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementPropertiesTest.java
@@ -38,7 +38,8 @@ import static org.assertj.core.api.Assertions.assertThat;
"spring.application.name=test",
"spring.cloud.gateway.enabled=false",
"spring.cloud.tencent.rpc-enhancement=true",
- "spring.cloud.tencent.rpc-enhancement.ignore-body=false"
+ "spring.cloud.tencent.rpc-enhancement.ignore-body=false",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"
})
@ActiveProfiles("test")
public class RpcEnhancementPropertiesTest {
diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementReporterPropertiesTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementReporterPropertiesTest.java
index 60a91f359..50f25c1fc 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementReporterPropertiesTest.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementReporterPropertiesTest.java
@@ -41,7 +41,8 @@ import static org.springframework.http.HttpStatus.Series.SERVER_ERROR;
@SpringBootTest(classes = RpcEnhancementReporterPropertiesTest.TestApplication.class, properties = {
"spring.application.name=test",
"spring.cloud.gateway.enabled=false",
- "spring.cloud.tencent.rpc-enhancement.reporter=true"
+ "spring.cloud.tencent.rpc-enhancement.reporter=true",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"
})
@ActiveProfiles("test")
public class RpcEnhancementReporterPropertiesTest {
diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/instrument/feign/EnhancedFeignClientTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/instrument/feign/EnhancedFeignClientTest.java
index eec56a45c..8444040a5 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/instrument/feign/EnhancedFeignClientTest.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/instrument/feign/EnhancedFeignClientTest.java
@@ -59,7 +59,8 @@ import static org.mockito.Mockito.mock;
*/
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = EnhancedFeignClientTest.TestApplication.class,
- properties = {"spring.cloud.polaris.namespace=Test", "spring.cloud.polaris.service=TestApp", "spring.cloud.gateway.enabled=false"})
+ properties = {"spring.cloud.polaris.namespace=Test", "spring.cloud.polaris.service=TestApp", "spring.cloud.gateway.enabled=false",
+ "spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration"})
public class EnhancedFeignClientTest {
@Autowired
diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/instrument/webclient/EnhancedWebClientExchangeFilterFunctionTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/instrument/webclient/EnhancedWebClientExchangeFilterFunctionTest.java
index 4f3eae8a6..99eaefeaa 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/instrument/webclient/EnhancedWebClientExchangeFilterFunctionTest.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/instrument/webclient/EnhancedWebClientExchangeFilterFunctionTest.java
@@ -170,7 +170,7 @@ public class EnhancedWebClientExchangeFilterFunctionTest {
StepVerifier.create(responseMono)
.expectNextMatches(response -> {
assertThat(response.statusCode()).isEqualTo(HttpStatus.SERVICE_UNAVAILABLE);
- assertThat(response.headers().asHttpHeaders().containsKey("header-key")).isTrue();
+ assertThat(response.headers().asHttpHeaders().containsHeader("header-key")).isTrue();
return true;
})
.verifyComplete();
diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/plugin/EnhancedPluginContextTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/plugin/EnhancedPluginContextTest.java
index b0961b561..fd309cc31 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/plugin/EnhancedPluginContextTest.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/plugin/EnhancedPluginContextTest.java
@@ -121,7 +121,7 @@ public class EnhancedPluginContextTest {
EnhancedPluginContext enhancedPluginContext = new EnhancedPluginContext();
enhancedPluginContext.setRequest(requestContext);
enhancedPluginContext.setResponse(responseContext);
- enhancedPluginContext.setTargetServiceInstance(new DefaultServiceInstance(), null);
+ enhancedPluginContext.setTargetServiceInstance(new DefaultServiceInstance(null, null, null, 0, false), null);
enhancedPluginContext.setThrowable(mock(Exception.class));
enhancedPluginContext.setDelay(0);
assertThat(enhancedPluginContext.getRequest()).isNotNull();
@@ -161,7 +161,7 @@ public class EnhancedPluginContextTest {
EnhancedPluginContext enhancedPluginContext = new EnhancedPluginContext();
// targetServiceInstance != null
- DefaultServiceInstance testDefaultServiceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance testDefaultServiceInstance = new DefaultServiceInstance(null, null, null, 1, false);
testDefaultServiceInstance.setPort(1);
enhancedPluginContext.setTargetServiceInstance(testDefaultServiceInstance, null);
assertThat(enhancedPluginContext.getTargetServiceInstance().getPort()).isEqualTo(1);
diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/plugin/ExceptionPolarisReporterTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/plugin/ExceptionPolarisReporterTest.java
index 06b215c96..8c82227c9 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/plugin/ExceptionPolarisReporterTest.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/plugin/ExceptionPolarisReporterTest.java
@@ -119,7 +119,7 @@ public class ExceptionPolarisReporterTest {
.httpStatus(200)
.build();
response.toString();
- DefaultServiceInstance serviceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance serviceInstance = new DefaultServiceInstance(null, null, null, 0, false);
serviceInstance.setServiceId(SERVICE_PROVIDER);
pluginContext.setRequest(request);
diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/plugin/SuccessPolarisReporterTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/plugin/SuccessPolarisReporterTest.java
index ad58fd4d5..915aa4153 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/plugin/SuccessPolarisReporterTest.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/plugin/SuccessPolarisReporterTest.java
@@ -117,7 +117,7 @@ public class SuccessPolarisReporterTest {
.httpStatus(200)
.build();
response.toString();
- DefaultServiceInstance serviceInstance = new DefaultServiceInstance();
+ DefaultServiceInstance serviceInstance = new DefaultServiceInstance(null, null, null, 0, false);
serviceInstance.setServiceId(SERVICE_PROVIDER);
pluginContext.setRequest(request);
diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/StatConfigModifierTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/StatConfigModifierTest.java
index 1e47d314d..5f89782be 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/StatConfigModifierTest.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/StatConfigModifierTest.java
@@ -45,7 +45,8 @@ public class StatConfigModifierTest {
.withPropertyValues("spring.cloud.polaris.stat.port=20000")
.withPropertyValues("spring.cloud.polaris.stat.path=/xxx")
.withPropertyValues("spring.application.name=test")
- .withPropertyValues("spring.cloud.gateway.enabled=false");
+ .withPropertyValues("spring.cloud.gateway.enabled=false")
+ .withPropertyValues("spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration");
private final ApplicationContextRunner pushContextRunner = new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(TestApplication.class))
@@ -58,14 +59,16 @@ public class StatConfigModifierTest {
.withPropertyValues("spring.cloud.polaris.stat.pushgateway.namespace=test-namespace")
.withPropertyValues("spring.cloud.polaris.stat.pushgateway.service=test-service")
.withPropertyValues("spring.application.name=test")
- .withPropertyValues("spring.cloud.gateway.enabled=false");
+ .withPropertyValues("spring.cloud.gateway.enabled=false")
+ .withPropertyValues("spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration");
private final ApplicationContextRunner disabledContextRunner = new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(TestApplication.class))
.withPropertyValues("spring.cloud.polaris.enabled=true")
.withPropertyValues("spring.cloud.polaris.stat.enabled=false")
.withPropertyValues("spring.application.name=test")
- .withPropertyValues("spring.cloud.gateway.enabled=false");
+ .withPropertyValues("spring.cloud.gateway.enabled=false")
+ .withPropertyValues("spring.autoconfigure.exclude=org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration,org.springframework.cloud.gateway.config.GatewayMetricsAutoConfiguration");
@BeforeEach
void setUp() {