From e95901eb532f57307ef97e4ca1e5f0efbd05b818 Mon Sep 17 00:00:00 2001 From: Haotian Zhang <928016560@qq.com> Date: Thu, 7 Jul 2022 12:20:43 +0800 Subject: [PATCH] refactor:optimize project and code. (#407) * refactor:optimize project and code. * fix:fix junit error. * fix:fix code style. --- CHANGELOG.md | 2 +- README-zh.md | 32 ++++++++------- README.md | 39 +++++++++++-------- changes/changes-1.5.3.md | 4 ++ .../MetadataTransferAutoConfiguration.java | 19 ++++----- .../CustomTransitiveMetadataResolver.java | 14 +++---- .../DecodeTransferMetadataReactiveFilter.java | 8 ++-- .../DecodeTransferMetadataServletFilter.java | 4 +- .../EncodeTransferMedataFeignInterceptor.java | 3 +- .../core/EncodeTransferMedataScgFilter.java | 4 +- ...MetadataTransferAutoConfigurationTest.java | 4 +- ...odeTransferMetadataReactiveFilterTest.java | 9 ++--- ...codeTransferMetadataServletFilterTest.java | 9 ++--- ...odeTransferMedataFeignInterceptorTest.java | 17 ++------ ...sferMedataRestTemplateInterceptorTest.java | 15 ++----- .../EncodeTransferMedataScgFilterTest.java | 6 +-- .../feign/PolarisFeignBeanPostProcessor.java | 1 - .../feign/PolarisFeignClient.java | 4 +- .../PolarisRestTemplateModifier.java | 7 ++-- ...larisRestTemplateResponseErrorHandler.java | 7 ++-- ...cuitBreakerBootstrapConfigurationTest.java | 2 +- .../PolarisFeignBeanPostProcessorTest.java | 4 +- .../feign/PolarisFeignClientTest.java | 6 +-- .../SimpleClientHttpResponseTest.java | 1 - .../adapter/PolarisConfigFileLocator.java | 6 +-- .../config/adapter/PolarisPropertySource.java | 1 - .../PolarisPropertySourceAutoRefresher.java | 6 +-- .../adapter/PolarisPropertySourceManager.java | 1 - .../PolarisConfigAnnotationProcessor.java | 1 - .../PolarisConfigKVFileChangeListener.java | 1 - .../config/config/ConfigFileGroup.java | 1 - .../endpoint/PolarisConfigEndpoint.java | 3 +- ...olarisConfigEndpointAutoConfiguration.java | 3 +- .../config/enums/ConfigFileFormat.java | 1 - .../config/listener/ConfigChangeEvent.java | 1 - .../config/listener/ConfigChangeListener.java | 1 - .../PolarisConfigChangeEventListener.java | 2 - .../PolarisConfigListenerContext.java | 10 ++--- .../config/adapter/MockedConfigKVFile.java | 3 +- .../adapter/PolarisConfigFileLocatorTest.java | 10 ++--- ...arisPropertiesSourceAutoRefresherTest.java | 13 +++---- .../listener/ConfigChangeListenerTest.java | 6 +-- .../polaris/DiscoveryConfigModifier.java | 4 +- .../ConditionalOnPolarisDiscoveryEnabled.java | 4 +- .../discovery/DiscoveryEnabledCondition.java | 7 ++-- .../discovery/PolarisDiscoveryClient.java | 1 - .../discovery/PolarisDiscoveryHandler.java | 1 - .../discovery/PolarisServiceDiscovery.java | 1 - ...sReactiveDiscoveryClientConfiguration.java | 5 +-- ...sRefreshApplicationReadyEventListener.java | 8 ++-- .../PolarisServiceStatusChangeListener.java | 3 +- .../endpoint/PolarisDiscoveryEndPoint.java | 3 +- .../ConditionalOnPolarisRegisterEnabled.java | 4 +- .../registry/PolarisServiceRegistry.java | 4 +- .../registry/RegisterEnabledCondition.java | 3 +- ...coveryPropertiesAutoConfigurationTest.java | 6 ++- ...pertiesBootstrapAutoConfigurationTest.java | 3 +- ...PolarisDiscoveryAutoConfigurationTest.java | 16 ++++---- ...larisDiscoveryClientConfigurationTest.java | 16 ++++---- .../PolarisServiceDiscoveryTest.java | 16 ++++---- ...ctiveDiscoveryClientConfigurationTest.java | 16 ++++---- ...olarisServiceStatusChangeListenerTest.java | 10 +++-- .../PolarisDiscoveryEndPointTest.java | 11 ++---- .../PolarisAutoServiceRegistrationTest.java | 1 - ...sServiceRegistryAutoConfigurationTest.java | 16 ++++---- .../registry/PolarisServiceRegistryTest.java | 19 ++++----- .../ratelimit/constant/RateLimitConstant.java | 1 - .../PolarisRateLimitRuleEndpoint.java | 7 ++-- ...ateLimitRuleEndpointAutoConfiguration.java | 1 - .../filter/QuotaCheckReactiveFilter.java | 5 +-- .../filter/QuotaCheckServletFilter.java | 10 ++--- ...larisRateLimiterLabelReactiveResolver.java | 1 - ...olarisRateLimiterLabelServletResolver.java | 1 - .../ratelimit/utils/QuotaCheckUtils.java | 1 - .../ratelimit/utils/RateLimitUtils.java | 1 - .../RateLimitRuleLabelResolverTest.java | 4 +- ...PolarisRateLimitAutoConfigurationTest.java | 6 ++- ...eLimitPropertiesAutoConfigurationTest.java | 5 +-- ...tPropertiesBootstrapConfigurationTest.java | 5 +-- .../controller/CalleeControllerTests.java | 9 ++--- .../ratelimit/controller/TestController.java | 1 - .../PolarisRateLimitRuleEndpointTests.java | 3 +- .../filter/QuotaCheckReactiveFilterTest.java | 35 +++++++++-------- .../filter/QuotaCheckServletFilterTest.java | 20 +++++----- .../cloud/polaris/router/RouterConstants.java | 8 ++-- .../feign/FeignExpressionLabelUtils.java | 6 ++- .../common/constant/ContextConstant.java | 2 - .../common/constant/MetadataConstant.java | 3 -- .../metadata/MetadataContextHolder.java | 1 - .../metadata/StaticMetadataManager.java | 19 ++++----- .../gateway/MetadataFirstScgFilter.java | 1 - .../common/pojo/PolarisServiceInstance.java | 1 - .../common/spi/InstanceMetadataProvider.java | 2 +- .../cloud/common/util/BeanFactoryUtils.java | 6 ++- .../common/util/ExpressionLabelUtils.java | 6 ++- .../metadata/MetadataContextHolderTest.java | 3 +- .../metadata/StaticMetadataManagerTest.java | 6 +-- .../config/MetadataAutoConfigurationTest.java | 1 - .../config/MetadataLocalPropertiesTest.java | 12 ++---- .../cloud/common/util/AddressUtilsTest.java | 5 ++- .../common/util/ExpressionLabelUtilsTest.java | 6 +-- .../common/util/ResourceFileUtilsTest.java | 5 ++- spring-cloud-tencent-dependencies/pom.xml | 2 +- .../src/main/resources/bootstrap.yml | 4 ++ .../src/main/resources/bootstrap.yml | 4 ++ .../service/callee/BusinessController.java | 33 +++++++++------- .../src/main/resources/bootstrap.yml | 7 +++- .../cloud/polaris/context/ModifyAddress.java | 1 - .../context/PolarisConfigModifier.java | 3 +- .../context/PostInitPolarisSDKContext.java | 3 +- .../polaris/context/ServiceRuleManager.java | 2 +- .../PolarisContextAutoConfiguration.java | 3 +- .../PolarisContextPostConfiguration.java | 6 ++- .../PolarisContextAutoConfigurationTest.java | 3 +- .../context/PolarisContextGetHostTest.java | 19 +++++---- .../loadbalancer/LoadBalancerUtils.java | 7 +++- .../PolarisServiceInstanceListSupplier.java | 1 - .../loadbalancer/LoadBalancerUtilsTest.java | 14 +++---- ...arisLoadBalancerAutoConfigurationTest.java | 10 +++-- .../PolarisRouterAutoConfigurationTest.java | 12 ++++-- src/checkstyle/checkstyle-suppressions.xml | 1 - 121 files changed, 391 insertions(+), 422 deletions(-) create mode 100644 changes/changes-1.5.3.md diff --git a/CHANGELOG.md b/CHANGELOG.md index eb80d458..5b324e4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,4 +29,4 @@ - [Feature: support spring cloud gateway routers](https://github.com/Tencent/spring-cloud-tencent/pull/390) - [Optimize starter's auto-configuration](https://github.com/Tencent/spring-cloud-tencent/pull/396) - [test: add PostInitPolarisSDKContextTest](https://github.com/Tencent/spring-cloud-tencent/pull/403) - +- [refactor:optimize project and code](https://github.com/Tencent/spring-cloud-tencent/pull/407) diff --git a/README-zh.md b/README-zh.md index 1a37d219..bcda7998 100644 --- a/README-zh.md +++ b/README-zh.md @@ -3,11 +3,11 @@ [![Wiki](https://badgen.net/badge/icon/wiki?icon=wiki&label)](https://github.com/Tencent/spring-cloud-tencent/wiki) [![Build Status](https://github.com/Tencent/spring-cloud-tencent/actions/workflows/junit_test.yml/badge.svg)](https://github.com/Tencent/spring-cloud-tencent/actions/workflows/junit_test.yml) [![Maven Central](https://img.shields.io/maven-central/v/com.tencent.cloud/spring-cloud-tencent?label=Maven%20Central)](https://search.maven.org/search?q=g:com.tencent.cloud%20AND%20a:spring-cloud-tencent) -[![codecov.io](https://codecov.io/gh/Tencent/spring-cloud-tencent/branch/main/graph/badge.svg)](https://codecov.io/gh/Tencent/spring-cloud-tencent?branch=main) +[![codecov.io](https://codecov.io/gh/Tencent/spring-cloud-tencent/branch/2021.0/graph/badge.svg)](https://codecov.io/gh/Tencent/spring-cloud-tencent?branch=2021.0) [![Contributors](https://img.shields.io/github/contributors/Tencent/spring-cloud-tencent)](https://github.com/Tencent/spring-cloud-tencent/graphs/contributors) [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) -[English](./README.md) | 简体中文 +[English](./README.md) | 简体中文 --- @@ -29,20 +29,23 @@ Spring Cloud Tencent提供的能力包括但不限于: - 服务注册和发现 - 动态配置管理 - 服务治理 - - 服务限流 - - 服务熔断 - - 服务路由 - - ... + - 服务限流 + - 服务熔断 + - 服务路由 + - ... - 标签透传 ## 体验环境 - 管控台地址: http://14.116.241.63:8080/ - - 账号:polaris - - 密码:polaris + - 账号:polaris + - 密码:polaris - 控制面地址: `grpc://183.47.111.80:8091` -- - `spring-cloud-tencent-example` 下 example 地址都默认指向了体验服务地址(`grpc://183.47.111.80:8091`),如果您只是体验 Spring Cloud Tencent,可直接一键运行任何 example。 +- + +`spring-cloud-tencent-example` 下 example 地址都默认指向了体验服务地址(`grpc://183.47.111.80:8091`),如果您只是体验 Spring Cloud +Tencent,可直接一键运行任何 example。 + ## 管控台 image @@ -88,8 +91,8 @@ Spring Cloud Tencent 所有组件都已上传到 Maven 中央仓库,只需要 - [Spring Cloud Tencent 标签传递](https://github.com/Tencent/spring-cloud-tencent/wiki/Spring-Cloud-Tencent-Metadata-Transfer-%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97) - ### 开发文档 - - [项目概览](https://github.com/Tencent/spring-cloud-tencent/wiki/%E9%A1%B9%E7%9B%AE%E6%A6%82%E8%A7%88) - - [参与共建](https://github.com/Tencent/spring-cloud-tencent/wiki/%E5%8F%82%E4%B8%8E%E5%85%B1%E5%BB%BA) + - [项目概览](https://github.com/Tencent/spring-cloud-tencent/wiki/%E9%A1%B9%E7%9B%AE%E6%A6%82%E8%A7%88) + - [参与共建](https://github.com/Tencent/spring-cloud-tencent/wiki/%E5%8F%82%E4%B8%8E%E5%85%B1%E5%BB%BA) ## 交流群 @@ -97,9 +100,10 @@ Spring Cloud Tencent 所有组件都已上传到 Maven 中央仓库,只需要 - ## License -The spring-cloud-tencent is licensed under the BSD 3-Clause License. Copyright and license information can be found in the file [LICENSE](LICENSE) + +The spring-cloud-tencent is licensed under the BSD 3-Clause License. Copyright and license information can be found in +the file [LICENSE](LICENSE) ## Stargazers over time diff --git a/README.md b/README.md index 24080d03..946bc8de 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Wiki](https://badgen.net/badge/icon/wiki?icon=wiki&label)](https://github.com/Tencent/spring-cloud-tencent/wiki) [![Build Status](https://github.com/Tencent/spring-cloud-tencent/actions/workflows/junit_test.yml/badge.svg)](https://github.com/Tencent/spring-cloud-tencent/actions/workflows/junit_test.yml) [![Maven Central](https://img.shields.io/maven-central/v/com.tencent.cloud/spring-cloud-tencent?label=Maven%20Central)](https://search.maven.org/search?q=g:com.tencent.cloud%20AND%20a:spring-cloud-tencent) -[![codecov.io](https://codecov.io/gh/Tencent/spring-cloud-tencent/branch/main/graph/badge.svg)](https://codecov.io/gh/Tencent/spring-cloud-tencent?branch=main) +[![codecov.io](https://codecov.io/gh/Tencent/spring-cloud-tencent/branch/2021.0/graph/badge.svg)](https://codecov.io/gh/Tencent/spring-cloud-tencent?branch=2021.0) [![Contributors](https://img.shields.io/github/contributors/Tencent/spring-cloud-tencent)](https://github.com/Tencent/spring-cloud-tencent/graphs/contributors) [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) @@ -14,9 +14,11 @@ English | [简体中文](./README-zh.md) Spring Cloud Tencent is a open source one-stop microservice solution from Tencent. -Spring Cloud Tencent implements the Spring Cloud standard microservice SPI, so developers can quickly develop Spring Cloud cloud-native distributed applications based on Spring Cloud Tencent. +Spring Cloud Tencent implements the Spring Cloud standard microservice SPI, so developers can quickly develop Spring +Cloud cloud-native distributed applications based on Spring Cloud Tencent. -The core of Spring Cloud Tencent relies on Tencent's open-source one-stop service discovery and governance platform [Polaris](https://github.com/polarismesh/polaris) to realize various distributed microservice scenarios. +The core of Spring Cloud Tencent relies on Tencent's open-source one-stop service discovery and governance +platform [Polaris](https://github.com/polarismesh/polaris) to realize various distributed microservice scenarios. - [Polaris Github home page](https://github.com/polarismesh/polaris) - [Polaris official website](https://polarismesh.cn/) @@ -28,21 +30,22 @@ The capabilities provided by Spring Cloud Tencent include but are not limited to - Service registration and discovery - Dynamic configuration management - Service Governance - - Service rate limit - - Service circuit breaker - - Service routing - - ... + - Service rate limit + - Service circuit breaker + - Service routing + - ... - Label transparent transmission ## Demo Environment - Console Address : http://14.116.241.63:8080/ - - Username: polaris - - Password: polaris + - Username: polaris + - Password: polaris - Server Address: `grpc://183.47.111.80:8091` -The example addresses under `spring-cloud-tencent-example` all point to the experience service address (`grpc://183.47.111.80:8091`) by default. -If you only experience Spring Cloud Tencent, you can run any example directly with one click. +The example addresses under `spring-cloud-tencent-example` all point to the experience service +address (`grpc://183.47.111.80:8091`) by default. If you only experience Spring Cloud Tencent, you can run any example +directly with one click. ## Screenshots @@ -50,7 +53,8 @@ If you only experience Spring Cloud Tencent, you can run any example directly wi ## Use Guide -All the components of Spring Cloud Tencent have been uploaded to the Maven central repository, just need to introduce dependencies. +All the components of Spring Cloud Tencent have been uploaded to the Maven central repository, just need to introduce +dependencies. For example: @@ -79,7 +83,7 @@ For example: ```` - - ### Quick Start +- ### Quick Start - [Spring Cloud Tencent Version Management](https://github.com/Tencent/spring-cloud-tencent/wiki/Spring-Cloud-Tencent-%E7%89%88%E6%9C%AC%E7%AE%A1%E7%90%86) - [Spring Cloud Tencent Discovery](https://github.com/Tencent/spring-cloud-tencent/wiki/Spring-Cloud-Tencent-Discovery-%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3) - [Spring Cloud Tencent Config](https://github.com/Tencent/spring-cloud-tencent/wiki/Spring-Cloud-Tencent-Config-%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3) @@ -89,9 +93,9 @@ For example: - [Spring Cloud Tencent Metadata Transfer](https://github.com/Tencent/spring-cloud-tencent/wiki/Spring-Cloud-Tencent-Metadata-Transfer-%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97) - ### Development Documentation - - [Project Structure Overview](https://github.com/Tencent/spring-cloud-tencent/wiki/%E9%A1%B9%E7%9B%AE%E6%A6%82%E8%A7%88) - - [Participate in co-construction](https://github.com/Tencent/spring-cloud-tencent/wiki/%E5%8F%82%E4%B8%8E%E5%85%B1%E5%BB%BA) - + - [Project Structure Overview](https://github.com/Tencent/spring-cloud-tencent/wiki/%E9%A1%B9%E7%9B%AE%E6%A6%82%E8%A7%88) + - [Participate in co-construction](https://github.com/Tencent/spring-cloud-tencent/wiki/%E5%8F%82%E4%B8%8E%E5%85%B1%E5%BB%BA) + ## Chat Group Please scan the QR code to join the chat group. @@ -99,8 +103,9 @@ Please scan the QR code to join the chat group. ## License -The spring-cloud-tencent is licensed under the BSD 3-Clause License. Copyright and license information can be found in the file [LICENSE](LICENSE) +The spring-cloud-tencent is licensed under the BSD 3-Clause License. Copyright and license information can be found in +the file [LICENSE](LICENSE) ## Stargazers over time diff --git a/changes/changes-1.5.3.md b/changes/changes-1.5.3.md new file mode 100644 index 00000000..2052c69d --- /dev/null +++ b/changes/changes-1.5.3.md @@ -0,0 +1,4 @@ +# Change Log +--- + +- [fix not load application.yml bug & fix guava version conflict bug](https://github.com/Tencent/spring-cloud-tencent/pull/289) diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/config/MetadataTransferAutoConfiguration.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/config/MetadataTransferAutoConfiguration.java index 024eb979..e1e8b091 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/config/MetadataTransferAutoConfiguration.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/config/MetadataTransferAutoConfiguration.java @@ -67,12 +67,10 @@ public class MetadataTransferAutoConfiguration { @Bean public FilterRegistrationBean metadataServletFilterRegistrationBean( DecodeTransferMetadataServletFilter decodeTransferMetadataServletFilter) { - FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean<>( - decodeTransferMetadataServletFilter); - filterRegistrationBean.setDispatcherTypes(ASYNC, ERROR, FORWARD, INCLUDE, - REQUEST); - filterRegistrationBean - .setOrder(MetadataConstant.OrderConstant.WEB_FILTER_ORDER); + FilterRegistrationBean filterRegistrationBean = + new FilterRegistrationBean<>(decodeTransferMetadataServletFilter); + filterRegistrationBean.setDispatcherTypes(ASYNC, ERROR, FORWARD, INCLUDE, REQUEST); + filterRegistrationBean.setOrder(MetadataConstant.OrderConstant.WEB_FILTER_ORDER); return filterRegistrationBean; } @@ -146,8 +144,7 @@ public class MetadataTransferAutoConfiguration { // is initialized, then manually set the interceptor. if (!CollectionUtils.isEmpty(beans)) { for (RestTemplate restTemplate : beans.values()) { - List interceptors = restTemplate - .getInterceptors(); + List interceptors = restTemplate.getInterceptors(); // Avoid setting interceptor repeatedly. if (!interceptors.contains(encodeTransferMedataRestTemplateInterceptor)) { interceptors.add(encodeTransferMedataRestTemplateInterceptor); @@ -155,8 +152,7 @@ public class MetadataTransferAutoConfiguration { } } } - return new EncodeTransferMetadataRestTemplatePostProcessor( - encodeTransferMedataRestTemplateInterceptor); + return new EncodeTransferMetadataRestTemplatePostProcessor(encodeTransferMedataRestTemplateInterceptor); } @Override @@ -183,8 +179,7 @@ public class MetadataTransferAutoConfiguration { public Object postProcessAfterInitialization(@NonNull Object bean, @NonNull String beanName) { if (bean instanceof RestTemplate) { RestTemplate restTemplate = (RestTemplate) bean; - List interceptors = restTemplate - .getInterceptors(); + List interceptors = restTemplate.getInterceptors(); // Avoid setting interceptor repeatedly. if (!interceptors.contains(encodeTransferMedataRestTemplateInterceptor)) { interceptors.add(this.encodeTransferMedataRestTemplateInterceptor); 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 01be55f2..955ce680 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 @@ -33,12 +33,14 @@ import org.springframework.web.server.ServerWebExchange; /** * Resolve custom transitive metadata from request. + * * @author lepdou 2022-05-20 */ -public class CustomTransitiveMetadataResolver { - +public final class CustomTransitiveMetadataResolver { private static final String TRANSITIVE_HEADER_PREFIX = "X-SCT-Metadata-Transitive-"; private static final int TRANSITIVE_HEADER_PREFIX_LENGTH = TRANSITIVE_HEADER_PREFIX.length(); + private CustomTransitiveMetadataResolver() { + } public static Map resolve(ServerWebExchange exchange) { Map result = new HashMap<>(); @@ -47,10 +49,8 @@ public class CustomTransitiveMetadataResolver { for (Map.Entry> entry : headers.entrySet()) { String key = entry.getKey(); - if (StringUtils.isNotBlank(key) && - StringUtils.startsWithIgnoreCase(key, TRANSITIVE_HEADER_PREFIX) + if (StringUtils.isNotBlank(key) && StringUtils.startsWithIgnoreCase(key, TRANSITIVE_HEADER_PREFIX) && !CollectionUtils.isEmpty(entry.getValue())) { - String sourceKey = StringUtils.substring(key, TRANSITIVE_HEADER_PREFIX_LENGTH); result.put(sourceKey, entry.getValue().get(0)); } @@ -66,10 +66,8 @@ public class CustomTransitiveMetadataResolver { while (headers.hasMoreElements()) { String key = headers.nextElement(); - if (StringUtils.isNotBlank(key) && - StringUtils.startsWithIgnoreCase(key, TRANSITIVE_HEADER_PREFIX) + if (StringUtils.isNotBlank(key) && StringUtils.startsWithIgnoreCase(key, TRANSITIVE_HEADER_PREFIX) && StringUtils.isNotBlank(request.getHeader(key))) { - String sourceKey = StringUtils.substring(key, TRANSITIVE_HEADER_PREFIX_LENGTH); result.put(sourceKey, request.getHeader(key)); } diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilter.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilter.java index d07d8fb9..b8815c51 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilter.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilter.java @@ -70,13 +70,11 @@ public class DecodeTransferMetadataReactiveFilter implements WebFilter, Ordered MetadataContextHolder.init(mergedTransitiveMetadata); // Save to ServerWebExchange. - serverWebExchange.getAttributes().put( - MetadataConstant.HeaderName.METADATA_CONTEXT, - MetadataContextHolder.get()); + serverWebExchange.getAttributes() + .put(MetadataConstant.HeaderName.METADATA_CONTEXT, MetadataContextHolder.get()); return webFilterChain.filter(serverWebExchange) - .doOnError(throwable -> LOG.error("handle metadata[{}] error.", - MetadataContextHolder.get(), throwable)) + .doOnError(throwable -> LOG.error("handle metadata[{}] error.", MetadataContextHolder.get(), throwable)) .doFinally((type) -> MetadataContextHolder.remove()); } diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilter.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilter.java index 3d612fde..20df1dc7 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilter.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilter.java @@ -54,8 +54,7 @@ public class DecodeTransferMetadataServletFilter extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest httpServletRequest, - HttpServletResponse httpServletResponse, FilterChain filterChain) - throws ServletException, IOException { + HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException { Map internalTransitiveMetadata = getInternalTransitiveMetadata(httpServletRequest); Map customTransitiveMetadata = CustomTransitiveMetadataResolver.resolve(httpServletRequest); @@ -89,5 +88,4 @@ public class DecodeTransferMetadataServletFilter extends OncePerRequestFilter { // create custom metadata. return JacksonUtils.deserialize2Map(customMetadataStr); } - } diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptor.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptor.java index a6af9e15..3bfefe03 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptor.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptor.java @@ -62,8 +62,7 @@ public class EncodeTransferMedataFeignInterceptor implements RequestInterceptor, String encodedTransitiveMetadata = JacksonUtils.serialize2Json(customMetadata); requestTemplate.removeHeader(CUSTOM_METADATA); try { - requestTemplate.header(CUSTOM_METADATA, - URLEncoder.encode(encodedTransitiveMetadata, UTF_8)); + requestTemplate.header(CUSTOM_METADATA, URLEncoder.encode(encodedTransitiveMetadata, UTF_8)); } catch (UnsupportedEncodingException e) { LOG.error("Set header failed.", e); diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilter.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilter.java index 1bf2ecc4..4f6c0010 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilter.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilter.java @@ -68,8 +68,7 @@ public class EncodeTransferMedataScgFilter implements GlobalFilter, Ordered { if (!CollectionUtils.isEmpty(customMetadata)) { String metadataStr = JacksonUtils.serialize2Json(customMetadata); try { - builder.header(MetadataConstant.HeaderName.CUSTOM_METADATA, - URLEncoder.encode(metadataStr, UTF_8)); + builder.header(MetadataConstant.HeaderName.CUSTOM_METADATA, URLEncoder.encode(metadataStr, UTF_8)); } catch (UnsupportedEncodingException e) { builder.header(MetadataConstant.HeaderName.CUSTOM_METADATA, metadataStr); @@ -78,5 +77,4 @@ public class EncodeTransferMedataScgFilter implements GlobalFilter, Ordered { return chain.filter(exchange.mutate().request(builder.build()).build()); } - } diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/config/MetadataTransferAutoConfigurationTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/config/MetadataTransferAutoConfigurationTest.java index 2d1c5e7c..a6b26643 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/config/MetadataTransferAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/config/MetadataTransferAutoConfigurationTest.java @@ -50,11 +50,11 @@ public class MetadataTransferAutoConfigurationTest { .hasSingleBean(MetadataTransferAutoConfiguration.MetadataTransferRestTemplateConfig.class); Assertions.assertThat(context).hasSingleBean(EncodeTransferMedataRestTemplateInterceptor.class); Assertions.assertThat(context).hasSingleBean( - MetadataTransferAutoConfiguration.MetadataTransferRestTemplateConfig.EncodeTransferMetadataRestTemplatePostProcessor.class); + MetadataTransferAutoConfiguration.MetadataTransferRestTemplateConfig + .EncodeTransferMetadataRestTemplatePostProcessor.class); Assertions.assertThat(context) .hasSingleBean(MetadataTransferAutoConfiguration.MetadataTransferScgFilterConfig.class); Assertions.assertThat(context).hasSingleBean(GlobalFilter.class); }); } - } 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 6a71d029..ccb70aca 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 @@ -43,7 +43,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = MOCK, classes = DecodeTransferMetadataServletFilterTest.TestApplication.class, - properties = { "spring.config.location = classpath:application-test.yml" }) + properties = {"spring.config.location = classpath:application-test.yml"}) public class DecodeTransferMetadataReactiveFilterTest { @Autowired @@ -74,11 +74,8 @@ public class DecodeTransferMetadataReactiveFilterTest { ServerWebExchange exchange = MockServerWebExchange.from(request); metadataReactiveFilter.filter(exchange, webFilterChain); - Assertions.assertThat(metadataLocalProperties.getContent().get("a")) - .isEqualTo("1"); - Assertions.assertThat(metadataLocalProperties.getContent().get("b")) - .isEqualTo("2"); + Assertions.assertThat(metadataLocalProperties.getContent().get("a")).isEqualTo("1"); + Assertions.assertThat(metadataLocalProperties.getContent().get("b")).isEqualTo("2"); Assertions.assertThat(metadataLocalProperties.getContent().get("c")).isNull(); } - } 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 c5c7cf1b..45303125 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 @@ -45,7 +45,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen @RunWith(SpringRunner.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"}) public class DecodeTransferMetadataServletFilterTest { @Autowired @@ -66,10 +66,8 @@ public class DecodeTransferMetadataServletFilterTest { request.addHeader(MetadataConstant.HeaderName.CUSTOM_METADATA, "{\"c\": \"3\"}"); MockHttpServletResponse response = new MockHttpServletResponse(); metadataServletFilter.doFilter(request, response, filterChain); - Assertions.assertThat(metadataLocalProperties.getContent().get("a")) - .isEqualTo("1"); - Assertions.assertThat(metadataLocalProperties.getContent().get("b")) - .isEqualTo("2"); + Assertions.assertThat(metadataLocalProperties.getContent().get("a")).isEqualTo("1"); + Assertions.assertThat(metadataLocalProperties.getContent().get("b")).isEqualTo("2"); Assertions.assertThat(metadataLocalProperties.getContent().get("c")).isNull(); } @@ -77,5 +75,4 @@ public class DecodeTransferMetadataServletFilterTest { protected static class TestApplication { } - } 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 67f7edb4..6299dc95 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 @@ -17,8 +17,6 @@ package com.tencent.cloud.metadata.core; -import java.io.UnsupportedEncodingException; - import com.tencent.cloud.common.constant.MetadataConstant; import com.tencent.cloud.common.metadata.MetadataContext; import com.tencent.cloud.common.metadata.MetadataContextHolder; @@ -36,7 +34,6 @@ import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -63,10 +60,8 @@ public class EncodeTransferMedataFeignInterceptorTest { public void testTransitiveMetadataFromApplicationConfig() { String metadata = testFeign.test(); Assertions.assertThat(metadata).isEqualTo("2"); - Assertions.assertThat(metadataLocalProperties.getContent().get("a")) - .isEqualTo("1"); - Assertions.assertThat(metadataLocalProperties.getContent().get("b")) - .isEqualTo("2"); + Assertions.assertThat(metadataLocalProperties.getContent().get("a")).isEqualTo("1"); + Assertions.assertThat(metadataLocalProperties.getContent().get("b")).isEqualTo("2"); } @SpringBootApplication @@ -75,9 +70,7 @@ public class EncodeTransferMedataFeignInterceptorTest { protected static class TestApplication { @RequestMapping("/test") - public String test( - @RequestHeader(MetadataConstant.HeaderName.CUSTOM_METADATA) String customMetadataStr) - throws UnsupportedEncodingException { + public String test() { return MetadataContextHolder.get().getContext(MetadataContext.FRAGMENT_TRANSITIVE, "b"); } @@ -86,7 +79,6 @@ public class EncodeTransferMedataFeignInterceptorTest { @RequestMapping("/test") String test(); - } @Configuration @@ -94,8 +86,7 @@ public class EncodeTransferMedataFeignInterceptorTest { @Override public void apply(RequestTemplate template) { - template.header(MetadataConstant.HeaderName.CUSTOM_METADATA, - "{\"a\":\"11\",\"b\":\"22\",\"c\":\"33\"}"); + template.header(MetadataConstant.HeaderName.CUSTOM_METADATA, "{\"a\":\"11\",\"b\":\"22\",\"c\":\"33\"}"); } } } diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataRestTemplateInterceptorTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataRestTemplateInterceptorTest.java index 4a2a96d3..c6f34710 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataRestTemplateInterceptorTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataRestTemplateInterceptorTest.java @@ -17,9 +17,6 @@ package com.tencent.cloud.metadata.core; -import java.io.UnsupportedEncodingException; - -import com.tencent.cloud.common.constant.MetadataConstant; import com.tencent.cloud.common.metadata.MetadataContext; import com.tencent.cloud.common.metadata.MetadataContextHolder; import org.assertj.core.api.Assertions; @@ -35,7 +32,6 @@ import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; @@ -50,7 +46,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = RANDOM_PORT, classes = EncodeTransferMedataRestTemplateInterceptorTest.TestApplication.class, - properties = { "spring.config.location = classpath:application-test.yml" }) + properties = {"spring.config.location = classpath:application-test.yml"}) public class EncodeTransferMedataRestTemplateInterceptorTest { @Autowired @@ -64,8 +60,7 @@ public class EncodeTransferMedataRestTemplateInterceptorTest { HttpHeaders httpHeaders = new HttpHeaders(); HttpEntity httpEntity = new HttpEntity<>(httpHeaders); String metadata = restTemplate - .exchange("http://localhost:" + localServerPort + "/test", HttpMethod.GET, - httpEntity, String.class) + .exchange("http://localhost:" + localServerPort + "/test", HttpMethod.GET, httpEntity, String.class) .getBody(); Assertions.assertThat(metadata).isEqualTo("2"); } @@ -80,12 +75,8 @@ public class EncodeTransferMedataRestTemplateInterceptorTest { } @RequestMapping("/test") - public String test( - @RequestHeader(MetadataConstant.HeaderName.CUSTOM_METADATA) String customMetadataStr) - throws UnsupportedEncodingException { + public String test() { return MetadataContextHolder.get().getContext(MetadataContext.FRAGMENT_TRANSITIVE, "b"); } - } - } diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilterTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilterTest.java index d7de2354..385caac4 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilterTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilterTest.java @@ -46,9 +46,9 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author quan */ @RunWith(SpringRunner.class) -@SpringBootTest(webEnvironment = RANDOM_PORT, - classes = EncodeTransferMedataScgFilterTest.TestApplication.class, - properties = {"spring.config.location = classpath:application-test.yml", "spring.main.web-application-type = reactive"}) +@SpringBootTest(webEnvironment = RANDOM_PORT, classes = EncodeTransferMedataScgFilterTest.TestApplication.class, + properties = {"spring.config.location = classpath:application-test.yml", + "spring.main.web-application-type = reactive"}) public class EncodeTransferMedataScgFilterTest { @Autowired diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignBeanPostProcessor.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignBeanPostProcessor.java index f7bd0f9f..0470067d 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignBeanPostProcessor.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignBeanPostProcessor.java @@ -84,5 +84,4 @@ public class PolarisFeignBeanPostProcessor implements BeanPostProcessor, BeanFac public void setBeanFactory(BeanFactory beanFactory) throws BeansException { this.factory = beanFactory; } - } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignClient.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignClient.java index 49f34dcc..48fa3ae8 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignClient.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignClient.java @@ -42,7 +42,6 @@ import static feign.Util.checkNotNull; */ public class PolarisFeignClient implements Client { - private static final Logger LOG = LoggerFactory.getLogger(PolarisFeignClient.class); private final Client delegate; @@ -60,7 +59,7 @@ public class PolarisFeignClient implements Client { try { Response response = delegate.execute(request, options); // HTTP code greater than 500 is an exception - if (response.status() >= 500) { + if (response.status() > 500) { resultRequest.setRetStatus(RetStatus.RetFail); } LOG.debug("Will report result of {}. Request=[{}]. Response=[{}].", @@ -96,5 +95,4 @@ public class PolarisFeignClient implements Client { return resultRequest; } - } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/PolarisRestTemplateModifier.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/PolarisRestTemplateModifier.java index 0235440f..6fd56e58 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/PolarisRestTemplateModifier.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/PolarisRestTemplateModifier.java @@ -29,15 +29,15 @@ import org.springframework.web.client.RestTemplate; /** * Auto configuration RestTemplate, Find the RestTemplate bean annotated with {@link LoadBalanced}, - * then replace {@link org.springframework.web.client.ResponseErrorHandler} with {@link PolarisRestTemplateResponseErrorHandler} . + * then replace {@link org.springframework.web.client.ResponseErrorHandler} + * with {@link PolarisRestTemplateResponseErrorHandler} . * * @author wh 2022/6/21 */ public class PolarisRestTemplateModifier implements ApplicationContextAware, SmartInitializingSingleton { - private ApplicationContext applicationContext; - private final PolarisRestTemplateResponseErrorHandler polarisRestTemplateResponseErrorHandler; + private ApplicationContext applicationContext; public PolarisRestTemplateModifier(PolarisRestTemplateResponseErrorHandler polarisRestTemplateResponseErrorHandler) { this.polarisRestTemplateResponseErrorHandler = polarisRestTemplateResponseErrorHandler; @@ -62,5 +62,4 @@ public class PolarisRestTemplateModifier implements ApplicationContextAware, Sma public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } - } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/PolarisRestTemplateResponseErrorHandler.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/PolarisRestTemplateResponseErrorHandler.java index e980a245..dd9a83d8 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/PolarisRestTemplateResponseErrorHandler.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/PolarisRestTemplateResponseErrorHandler.java @@ -53,7 +53,8 @@ public class PolarisRestTemplateResponseErrorHandler implements ResponseErrorHan private final PolarisResponseErrorHandler polarisResponseErrorHandler; - public PolarisRestTemplateResponseErrorHandler(ConsumerAPI consumerAPI, PolarisResponseErrorHandler polarisResponseErrorHandler) { + public PolarisRestTemplateResponseErrorHandler( + ConsumerAPI consumerAPI, PolarisResponseErrorHandler polarisResponseErrorHandler) { this.consumerAPI = consumerAPI; this.polarisResponseErrorHandler = polarisResponseErrorHandler; } @@ -73,7 +74,8 @@ public class PolarisRestTemplateResponseErrorHandler implements ResponseErrorHan } @Override - public void handleError(@NonNull URI url, @NonNull HttpMethod method, @NonNull ClientHttpResponse response) throws IOException { + public void handleError(@NonNull URI url, @NonNull HttpMethod method, @NonNull ClientHttpResponse response) + throws IOException { ServiceCallResult resultRequest = createServiceCallResult(url); try { HttpURLConnection connection = (HttpURLConnection) ReflectionUtils.getFieldValue(response, FILE_NAME); @@ -110,5 +112,4 @@ public class PolarisRestTemplateResponseErrorHandler implements ResponseErrorHan } return resultRequest; } - } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerBootstrapConfigurationTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerBootstrapConfigurationTest.java index a5bd4f2e..5f5f8601 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerBootstrapConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerBootstrapConfigurationTest.java @@ -31,7 +31,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Haotian Zhang */ public class PolarisCircuitBreakerBootstrapConfigurationTest { - private ApplicationContextRunner contextRunner = new ApplicationContextRunner() + private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration( AutoConfigurations.of(PolarisCircuitBreakerBootstrapConfiguration.class)) .withPropertyValues("spring.cloud.polaris.circuitbreaker.enabled=true"); diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignBeanPostProcessorTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignBeanPostProcessorTest.java index 3ff26056..4107fd17 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignBeanPostProcessorTest.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignBeanPostProcessorTest.java @@ -71,9 +71,7 @@ public class PolarisFeignBeanPostProcessorTest { // isNeedWrap(bean) == false Object bean1 = new Object(); Object bean = polarisFeignBeanPostProcessor.postProcessBeforeInitialization(bean1, "bean1"); - assertThat(bean).isNotInstanceOfAny( - PolarisFeignClient.class, - PolarisFeignBlockingLoadBalancerClient.class); + assertThat(bean).isNotInstanceOfAny(PolarisFeignClient.class, PolarisFeignBlockingLoadBalancerClient.class); // bean instanceOf Client.class Client bean2 = mock(Client.class); diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignClientTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignClientTest.java index 993eedc5..a3228f77 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignClientTest.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignClientTest.java @@ -90,7 +90,7 @@ public class PolarisFeignClientTest { return Response.builder().request(request).status(200).build(); } else if (request.httpMethod().equals(Request.HttpMethod.POST)) { - return Response.builder().request(request).status(500).build(); + return Response.builder().request(request).status(502).build(); } throw new IOException("Mock exception."); }).when(delegate).execute(any(Request.class), nullable(Request.Options.class)); @@ -113,10 +113,10 @@ public class PolarisFeignClientTest { Maps.newHashMap(), null, requestTemplate), null); assertThat(response.status()).isEqualTo(200); - // 200 + // 502 response = polarisFeignClient.execute(Request.create(Request.HttpMethod.POST, "http://localhost:8080/test", Maps.newHashMap(), null, requestTemplate), null); - assertThat(response.status()).isEqualTo(500); + assertThat(response.status()).isEqualTo(502); // Exception try { diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/SimpleClientHttpResponseTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/SimpleClientHttpResponseTest.java index 871f39ca..d8ac018c 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/SimpleClientHttpResponseTest.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/SimpleClientHttpResponseTest.java @@ -102,5 +102,4 @@ public class SimpleClientHttpResponseTest extends AbstractClientHttpResponse { // ignore } } - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocator.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocator.java index 0b42e8dc..a3ed86f1 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocator.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocator.java @@ -172,9 +172,8 @@ public class PolarisConfigFileLocator implements PropertySourceLocator { polarisPropertySourceManager.addPropertySource(polarisPropertySource); - LOGGER.info( - "[SCT Config] Load and inject polaris config file success. namespace = {}, group = {}, fileName = {}", - namespace, group, fileName); + LOGGER.info("[SCT Config] Load and inject polaris config file success." + + " namespace = {}, group = {}, fileName = {}", namespace, group, fileName); } } } @@ -204,5 +203,4 @@ public class PolarisConfigFileLocator implements PropertySourceLocator { return new PolarisPropertySource(namespace, group, fileName, configKVFile, map); } - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertySource.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertySource.java index 63c173e7..5a05ce13 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertySource.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertySource.java @@ -74,5 +74,4 @@ public class PolarisPropertySource extends MapPropertySource { return "PolarisPropertySource{" + "namespace='" + namespace + '\'' + ", group='" + group + '\'' + ", fileName='" + fileName + '\'' + '}'; } - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertySourceAutoRefresher.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertySourceAutoRefresher.java index de0c474b..d4816612 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertySourceAutoRefresher.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertySourceAutoRefresher.java @@ -51,12 +51,9 @@ public class PolarisPropertySourceAutoRefresher private final PolarisConfigProperties polarisConfigProperties; private final PolarisPropertySourceManager polarisPropertySourceManager; - - private ApplicationContext applicationContext; - private final ContextRefresher contextRefresher; - private final AtomicBoolean registered = new AtomicBoolean(false); + private ApplicationContext applicationContext; public PolarisPropertySourceAutoRefresher(PolarisConfigProperties polarisConfigProperties, PolarisPropertySourceManager polarisPropertySourceManager, ContextRefresher contextRefresher) { @@ -125,5 +122,4 @@ public class PolarisPropertySourceAutoRefresher }); } } - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertySourceManager.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertySourceManager.java index 01caee95..f8736e20 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertySourceManager.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertySourceManager.java @@ -39,5 +39,4 @@ public class PolarisPropertySourceManager { public List getAllPropertySources() { return new ArrayList<>(polarisPropertySources.values()); } - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigAnnotationProcessor.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigAnnotationProcessor.java index 349799f6..b6dbb291 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigAnnotationProcessor.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigAnnotationProcessor.java @@ -101,5 +101,4 @@ public class PolarisConfigAnnotationProcessor implements BeanPostProcessor, Prio addChangeListener(configChangeListener, interestedKeys, interestedKeyPrefixes); } - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigKVFileChangeListener.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigKVFileChangeListener.java index 142b41be..a324c4d7 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigKVFileChangeListener.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigKVFileChangeListener.java @@ -54,5 +54,4 @@ public @interface PolarisConfigKVFileChangeListener { * @return interested key-prefixed in the listener */ String[] interestedKeyPrefixes() default {}; - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/config/ConfigFileGroup.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/config/ConfigFileGroup.java index 05f1d7c5..b52ffd13 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/config/ConfigFileGroup.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/config/ConfigFileGroup.java @@ -56,5 +56,4 @@ public class ConfigFileGroup { public String toString() { return "ConfigFileGroup{" + "name='" + name + '\'' + ", file=" + files + '}'; } - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/endpoint/PolarisConfigEndpoint.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/endpoint/PolarisConfigEndpoint.java index eb9e94f5..ead47900 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/endpoint/PolarisConfigEndpoint.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/endpoint/PolarisConfigEndpoint.java @@ -40,7 +40,8 @@ public class PolarisConfigEndpoint { private final PolarisConfigProperties polarisConfigProperties; private final PolarisPropertySourceManager polarisPropertySourceManager; - public PolarisConfigEndpoint(PolarisConfigProperties polarisConfigProperties, PolarisPropertySourceManager polarisPropertySourceManager) { + public PolarisConfigEndpoint(PolarisConfigProperties polarisConfigProperties, + PolarisPropertySourceManager polarisPropertySourceManager) { this.polarisConfigProperties = polarisConfigProperties; this.polarisPropertySourceManager = polarisPropertySourceManager; } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/endpoint/PolarisConfigEndpointAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/endpoint/PolarisConfigEndpointAutoConfiguration.java index a438407f..27954cce 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/endpoint/PolarisConfigEndpointAutoConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/endpoint/PolarisConfigEndpointAutoConfiguration.java @@ -42,7 +42,8 @@ public class PolarisConfigEndpointAutoConfiguration { @Bean @ConditionalOnAvailableEndpoint @ConditionalOnMissingBean - public PolarisConfigEndpoint polarisConfigEndpoint(PolarisConfigProperties polarisConfigProperties, PolarisPropertySourceManager polarisPropertySourceManager) { + public PolarisConfigEndpoint polarisConfigEndpoint(PolarisConfigProperties polarisConfigProperties, + PolarisPropertySourceManager polarisPropertySourceManager) { return new PolarisConfigEndpoint(polarisConfigProperties, polarisPropertySourceManager); } } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/enums/ConfigFileFormat.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/enums/ConfigFileFormat.java index 024ad67d..d7c7b590 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/enums/ConfigFileFormat.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/enums/ConfigFileFormat.java @@ -80,5 +80,4 @@ public enum ConfigFileFormat { } return true; } - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/ConfigChangeEvent.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/ConfigChangeEvent.java index 119a5ce4..367740d8 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/ConfigChangeEvent.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/ConfigChangeEvent.java @@ -84,5 +84,4 @@ public final class ConfigChangeEvent { public Set interestedChangedKeys() { return interestedChangedKeys; } - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/ConfigChangeListener.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/ConfigChangeListener.java index 14ab64a3..1ff9d139 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/ConfigChangeListener.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/ConfigChangeListener.java @@ -31,5 +31,4 @@ public interface ConfigChangeListener { * @param changeEvent the event for this change */ void onChange(ConfigChangeEvent changeEvent); - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigChangeEventListener.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigChangeEventListener.java index 0a55255d..90189899 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigChangeEventListener.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigChangeEventListener.java @@ -55,7 +55,6 @@ public final class PolarisConfigChangeEventListener implements ApplicationListen */ @Override public void onApplicationEvent(@NonNull ApplicationEvent event) { - // Initialize application all environment properties . if (event instanceof ApplicationStartedEvent && started.compareAndSet(false, true)) { ApplicationStartedEvent applicationStartedEvent = (ApplicationStartedEvent) event; @@ -107,5 +106,4 @@ public final class PolarisConfigChangeEventListener implements ApplicationListen }); return ret; } - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigListenerContext.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigListenerContext.java index 05ac4175..74e20fb9 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigListenerContext.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigListenerContext.java @@ -55,37 +55,34 @@ import static com.tencent.polaris.configuration.api.core.ChangeType.MODIFIED; * @author Palmer Xu 2022-06-06 */ public final class PolarisConfigListenerContext { - /** * Logger instance. */ private static final Logger LOG = LoggerFactory.getLogger(PolarisConfigListenerContext.class); - /** * Execute service Atomic Reference Cache . */ private static final AtomicReference EAR = new AtomicReference<>(); - /** * All custom {@link ConfigChangeListener} instance defined in application . */ private static final List listeners = Lists.newCopyOnWriteArrayList(); - /** * All custom interested keys defined in application . */ private static final Map> interestedKeys = Maps.newHashMap(); - /** * All custom interested key prefixes defined in application . */ private static final Map> interestedKeyPrefixes = Maps.newHashMap(); - /** * Cache all latest configuration information for users in the application environment . */ private static final Cache properties = CacheBuilder.newBuilder().build(); + private PolarisConfigListenerContext() { + } + /** * Get or Created new execute server . * @return execute service instance of {@link ExecutorService} @@ -273,5 +270,4 @@ public final class PolarisConfigListenerContext { return Collections.unmodifiableSet(interestedChangedKeys); } - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/MockedConfigKVFile.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/MockedConfigKVFile.java index 026fe4d5..59e89ebc 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/MockedConfigKVFile.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/MockedConfigKVFile.java @@ -31,7 +31,8 @@ import com.tencent.polaris.configuration.api.core.ConfigKVFileChangeListener; /** * Mock config kv file for test. - *@author lepdou 2022-06-11 + * + * @author lepdou 2022-06-11 */ public class MockedConfigKVFile implements ConfigKVFile { diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocatorTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocatorTest.java index 8c072ef9..bfe1fc5d 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocatorTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocatorTest.java @@ -41,12 +41,15 @@ import org.springframework.core.env.PropertySource; import static org.mockito.Mockito.when; /** - * test for {@link PolarisConfigFileLocator} - *@author lepdou 2022-06-11 + * test for {@link PolarisConfigFileLocator}. + * + * @author lepdou 2022-06-11 */ @RunWith(MockitoJUnitRunner.class) public class PolarisConfigFileLocatorTest { + private final String testNamespace = "testNamespace"; + private final String testServiceName = "testServiceName"; @Mock private PolarisConfigProperties polarisConfigProperties; @Mock @@ -58,9 +61,6 @@ public class PolarisConfigFileLocatorTest { @Mock private Environment environment; - private final String testNamespace = "testNamespace"; - private final String testServiceName = "testServiceName"; - @Test public void testLoadApplicationPropertiesFile() { PolarisConfigFileLocator locator = new PolarisConfigFileLocator(polarisConfigProperties, polarisContextProperties, diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertiesSourceAutoRefresherTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertiesSourceAutoRefresherTest.java index 648860f3..779ddfb4 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertiesSourceAutoRefresherTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertiesSourceAutoRefresherTest.java @@ -38,12 +38,16 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; /** - * test for {@link PolarisPropertySourceAutoRefresher} - *@author lepdou 2022-06-11 + * test for {@link PolarisPropertySourceAutoRefresher}. + * + * @author lepdou 2022-06-11 */ @RunWith(MockitoJUnitRunner.class) public class PolarisPropertiesSourceAutoRefresherTest { + private final String testNamespace = "testNamespace"; + private final String testServiceName = "testServiceName"; + private final String testFileName = "application.properties"; @Mock private PolarisConfigProperties polarisConfigProperties; @Mock @@ -51,10 +55,6 @@ public class PolarisPropertiesSourceAutoRefresherTest { @Mock private ContextRefresher contextRefresher; - private final String testNamespace = "testNamespace"; - private final String testServiceName = "testServiceName"; - private final String testFileName = "application.properties"; - @Test public void testConfigFileChanged() { PolarisPropertySourceAutoRefresher refresher = new PolarisPropertySourceAutoRefresher(polarisConfigProperties, @@ -118,5 +118,4 @@ public class PolarisPropertiesSourceAutoRefresherTest { Assert.assertEquals("v1", polarisPropertySource.getProperty("k1")); verify(contextRefresher).refresh(); } - } diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/listener/ConfigChangeListenerTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/listener/ConfigChangeListenerTest.java index 84b5336d..667242c5 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/listener/ConfigChangeListenerTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/listener/ConfigChangeListenerTest.java @@ -46,11 +46,11 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author lepdou 2022-06-11 */ @RunWith(SpringRunner.class) -@SpringBootTest(webEnvironment = DEFINED_PORT, - classes = ConfigChangeListenerTest.TestApplication.class, +@SpringBootTest(webEnvironment = DEFINED_PORT, classes = ConfigChangeListenerTest.TestApplication.class, properties = {"server.port=8081", "spring.config.location = classpath:application-test.yml"}) public class ConfigChangeListenerTest { + private static final CountDownLatch hits = new CountDownLatch(2); @Autowired private ApplicationEventPublisher applicationEventPublisher; @Autowired @@ -58,8 +58,6 @@ public class ConfigChangeListenerTest { @Autowired private TestApplication.TestConfig testConfig; - private static final CountDownLatch hits = new CountDownLatch(2); - @Test public void test() throws InterruptedException { //before change diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/DiscoveryConfigModifier.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/DiscoveryConfigModifier.java index 67690ef2..0512de81 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/DiscoveryConfigModifier.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/DiscoveryConfigModifier.java @@ -27,9 +27,9 @@ import com.tencent.polaris.plugins.router.healthy.RecoverRouterConfig; import org.springframework.beans.factory.annotation.Autowired; /** - * Spring Cloud Tencent config Override polaris config. + * Spring Cloud Tencent config Override polaris config. * - *@author lepdou 2022-04-24 + * @author lepdou 2022-04-24 */ public class DiscoveryConfigModifier implements PolarisConfigModifier { diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/ConditionalOnPolarisDiscoveryEnabled.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/ConditionalOnPolarisDiscoveryEnabled.java index 97f47868..82ae9d5d 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/ConditionalOnPolarisDiscoveryEnabled.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/ConditionalOnPolarisDiscoveryEnabled.java @@ -28,10 +28,12 @@ import org.springframework.cloud.client.ConditionalOnDiscoveryEnabled; import org.springframework.context.annotation.Conditional; /** + * Condition if Polaris discovery is enabled. + * * @author Haotian Zhang, Andrew Shan, Jie Cheng */ @Retention(RetentionPolicy.RUNTIME) -@Target({ ElementType.TYPE, ElementType.METHOD }) +@Target({ElementType.TYPE, ElementType.METHOD}) @ConditionalOnDiscoveryEnabled @ConditionalOnPolarisEnabled @Conditional(DiscoveryEnabledCondition.class) diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/DiscoveryEnabledCondition.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/DiscoveryEnabledCondition.java index 158673b2..50d96d36 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/DiscoveryEnabledCondition.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/DiscoveryEnabledCondition.java @@ -34,13 +34,12 @@ public class DiscoveryEnabledCondition implements Condition { boolean isDiscoveryEnabled = Boolean.parseBoolean( conditionContext.getEnvironment().getProperty("spring.cloud.polaris.discovery.enabled", "true")); - boolean isConsulDiscoveryEnabled = Boolean - .parseBoolean(conditionContext.getEnvironment().getProperty("spring.cloud.consul.enabled", "false")) + boolean isConsulDiscoveryEnabled = Boolean.parseBoolean( + conditionContext.getEnvironment().getProperty("spring.cloud.consul.enabled", "false")) && Boolean.parseBoolean( - conditionContext.getEnvironment().getProperty("spring.cloud.consul.discovery.enabled", "true")); + conditionContext.getEnvironment().getProperty("spring.cloud.consul.discovery.enabled", "true")); isDiscoveryEnabled |= isConsulDiscoveryEnabled; return isDiscoveryEnabled; } - } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClient.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClient.java index f0746980..80cf3afd 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClient.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClient.java @@ -54,5 +54,4 @@ public class PolarisDiscoveryClient implements DiscoveryClient { public List getServices() { return polarisServiceDiscovery.getServices(); } - } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryHandler.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryHandler.java index a5544356..2482c263 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryHandler.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryHandler.java @@ -95,5 +95,4 @@ public class PolarisDiscoveryHandler { request.setNamespace(namespace); return polarisConsumer.getServices(request); } - } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscovery.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscovery.java index 044af863..5c52f2df 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscovery.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscovery.java @@ -66,5 +66,4 @@ public class PolarisServiceDiscovery { return polarisDiscoveryHandler.GetServices().getServices().stream().map(ServiceInfo::getService) .collect(Collectors.toList()); } - } 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 2f3d8e20..ca3772aa 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 @@ -36,9 +36,8 @@ import org.springframework.context.annotation.Configuration; */ @Configuration(proxyBeanMethods = false) @ConditionalOnReactiveDiscoveryEnabled -@AutoConfigureAfter({ PolarisDiscoveryAutoConfiguration.class, - ReactiveCompositeDiscoveryClientAutoConfiguration.class }) -@AutoConfigureBefore({ ReactiveCommonsClientAutoConfiguration.class }) +@AutoConfigureAfter({PolarisDiscoveryAutoConfiguration.class, ReactiveCompositeDiscoveryClientAutoConfiguration.class}) +@AutoConfigureBefore({ReactiveCommonsClientAutoConfiguration.class}) public class PolarisReactiveDiscoveryClientConfiguration { @Bean diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/refresh/PolarisRefreshApplicationReadyEventListener.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/refresh/PolarisRefreshApplicationReadyEventListener.java index 53292e7c..d8773ce7 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/refresh/PolarisRefreshApplicationReadyEventListener.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/refresh/PolarisRefreshApplicationReadyEventListener.java @@ -39,7 +39,8 @@ import static com.tencent.cloud.polaris.discovery.refresh.PolarisServiceStatusCh * * @author Haotian Zhang */ -public class PolarisRefreshApplicationReadyEventListener implements ApplicationListener, ApplicationEventPublisherAware, DisposableBean { +public class PolarisRefreshApplicationReadyEventListener + implements ApplicationListener, ApplicationEventPublisherAware, DisposableBean { private static final Logger LOG = LoggerFactory.getLogger(PolarisRefreshApplicationReadyEventListener.class); private static final int DELAY = 60; @@ -48,7 +49,8 @@ public class PolarisRefreshApplicationReadyEventListener implements ApplicationL private final ScheduledExecutorService refreshExecutor; private ApplicationEventPublisher publisher; - public PolarisRefreshApplicationReadyEventListener(PolarisDiscoveryHandler polarisDiscoveryHandler, PolarisServiceStatusChangeListener polarisServiceStatusChangeListener) { + public PolarisRefreshApplicationReadyEventListener(PolarisDiscoveryHandler polarisDiscoveryHandler, + PolarisServiceStatusChangeListener polarisServiceStatusChangeListener) { this.polarisDiscoveryHandler = polarisDiscoveryHandler; this.polarisServiceStatusChangeListener = polarisServiceStatusChangeListener; this.refreshExecutor = Executors.newSingleThreadScheduledExecutor( @@ -86,7 +88,7 @@ public class PolarisRefreshApplicationReadyEventListener implements ApplicationL } @Override - public void destroy() throws Exception { + public void destroy() { refreshExecutor.shutdown(); } } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/refresh/PolarisServiceStatusChangeListener.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/refresh/PolarisServiceStatusChangeListener.java index c923295d..c189058e 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/refresh/PolarisServiceStatusChangeListener.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/refresh/PolarisServiceStatusChangeListener.java @@ -39,7 +39,8 @@ import org.springframework.util.CollectionUtils; * * @author Haotian Zhang */ -public class PolarisServiceStatusChangeListener extends AbstractResourceEventListener implements ApplicationEventPublisherAware { +public class PolarisServiceStatusChangeListener extends AbstractResourceEventListener + implements ApplicationEventPublisherAware { /** * Index of service info status. diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/endpoint/PolarisDiscoveryEndPoint.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/endpoint/PolarisDiscoveryEndPoint.java index 5e006ac0..7a30ef69 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/endpoint/PolarisDiscoveryEndPoint.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/endpoint/PolarisDiscoveryEndPoint.java @@ -45,7 +45,8 @@ public class PolarisDiscoveryEndPoint { private final DiscoveryClient polarisDiscoveryClient; private final PolarisDiscoveryHandler polarisDiscoveryHandler; - public PolarisDiscoveryEndPoint(PolarisDiscoveryProperties polarisDiscoveryProperties, DiscoveryClient polarisDiscoveryClient, PolarisDiscoveryHandler polarisDiscoveryHandler) { + public PolarisDiscoveryEndPoint(PolarisDiscoveryProperties polarisDiscoveryProperties, + DiscoveryClient polarisDiscoveryClient, PolarisDiscoveryHandler polarisDiscoveryHandler) { this.polarisDiscoveryProperties = polarisDiscoveryProperties; this.polarisDiscoveryClient = polarisDiscoveryClient; this.polarisDiscoveryHandler = polarisDiscoveryHandler; diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/ConditionalOnPolarisRegisterEnabled.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/ConditionalOnPolarisRegisterEnabled.java index 440312ca..2d7391ff 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/ConditionalOnPolarisRegisterEnabled.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/ConditionalOnPolarisRegisterEnabled.java @@ -27,10 +27,12 @@ import com.tencent.cloud.polaris.context.ConditionalOnPolarisEnabled; import org.springframework.context.annotation.Conditional; /** + * Condition if Polaris registry is enabled. + * * @author Haotian Zhang, Andrew Shan, Jie Cheng */ @Retention(RetentionPolicy.RUNTIME) -@Target({ ElementType.TYPE, ElementType.METHOD }) +@Target({ElementType.TYPE, ElementType.METHOD}) @ConditionalOnPolarisEnabled @Conditional(RegisterEnabledCondition.class) public @interface ConditionalOnPolarisRegisterEnabled { diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java index 4dfc0a9c..36b75510 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java @@ -71,8 +71,8 @@ public class PolarisServiceRegistry implements ServiceRegistry { this.staticMetadataManager = staticMetadataManager; if (polarisDiscoveryProperties.isHeartbeatEnabled()) { - this.heartbeatExecutor = Executors - .newSingleThreadScheduledExecutor(new NamedThreadFactory("spring-cloud-heartbeat")); + this.heartbeatExecutor = Executors.newSingleThreadScheduledExecutor( + new NamedThreadFactory("spring-cloud-heartbeat")); } else { this.heartbeatExecutor = null; diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/RegisterEnabledCondition.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/RegisterEnabledCondition.java index 2978a1fe..d98d6018 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/RegisterEnabledCondition.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/RegisterEnabledCondition.java @@ -36,10 +36,9 @@ public class RegisterEnabledCondition implements Condition { boolean isConsulRegisterEnabled = Boolean .parseBoolean(conditionContext.getEnvironment().getProperty("spring.cloud.consul.enabled", "false")) && Boolean.parseBoolean(conditionContext.getEnvironment() - .getProperty("spring.cloud.consul.discovery.register", "true")); + .getProperty("spring.cloud.consul.discovery.register", "true")); isRegisterEnabled |= isConsulRegisterEnabled; return isRegisterEnabled; } - } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesAutoConfigurationTest.java index b053a673..f0d465a1 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesAutoConfigurationTest.java @@ -41,7 +41,8 @@ public class DiscoveryPropertiesAutoConfigurationTest { @Test public void testDefaultInitialization() { ApplicationContextRunner applicationContextRunner = new ApplicationContextRunner().withConfiguration( - AutoConfigurations.of(PolarisContextAutoConfiguration.class, + AutoConfigurations.of( + PolarisContextAutoConfiguration.class, DiscoveryPropertiesAutoConfiguration.class)); applicationContextRunner.run(context -> { assertThat(context).hasSingleBean(DiscoveryPropertiesAutoConfiguration.class); @@ -57,7 +58,8 @@ public class DiscoveryPropertiesAutoConfigurationTest { @Test public void testInit() { ApplicationContextRunner applicationContextRunner = new ApplicationContextRunner().withConfiguration( - AutoConfigurations.of(PolarisContextAutoConfiguration.class, + AutoConfigurations.of( + PolarisContextAutoConfiguration.class, TestConfiguration.class, DiscoveryPropertiesAutoConfiguration.class)) .withPropertyValues("spring.cloud.polaris.discovery.register=false") diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesBootstrapAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesBootstrapAutoConfigurationTest.java index 3ef145d0..74f975a3 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesBootstrapAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesBootstrapAutoConfigurationTest.java @@ -35,7 +35,8 @@ public class DiscoveryPropertiesBootstrapAutoConfigurationTest { @Test public void testDefaultInitialization() { ApplicationContextRunner applicationContextRunner = new ApplicationContextRunner().withConfiguration( - AutoConfigurations.of(PolarisContextAutoConfiguration.class, + AutoConfigurations.of( + PolarisContextAutoConfiguration.class, DiscoveryPropertiesBootstrapAutoConfiguration.class)) .withPropertyValues("spring.cloud.polaris.enabled=true"); applicationContextRunner.run(context -> { diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryAutoConfigurationTest.java index 388c1bba..6966d4f6 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryAutoConfigurationTest.java @@ -30,7 +30,6 @@ import org.junit.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.Configuration; import static com.tencent.polaris.test.common.Consts.PORT; @@ -46,11 +45,14 @@ public class PolarisDiscoveryAutoConfigurationTest { private static NamingServer namingServer; - private WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(PolarisContextAutoConfiguration.class, - PolarisDiscoveryAutoConfiguration.class, PolarisDiscoveryClientConfiguration.class, + private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() + .withConfiguration(AutoConfigurations.of( + PolarisContextAutoConfiguration.class, + PolarisDiscoveryAutoConfiguration.class, + PolarisDiscoveryClientConfiguration.class, PolarisContextAutoConfiguration.class)) - .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER).withPropertyValues("server.port=" + PORT) + .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER) + .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081"); @BeforeClass @@ -59,7 +61,7 @@ public class PolarisDiscoveryAutoConfigurationTest { } @AfterClass - public static void afterClass() throws Exception { + public static void afterClass() { if (null != namingServer) { namingServer.terminate(); } @@ -77,9 +79,7 @@ public class PolarisDiscoveryAutoConfigurationTest { @Configuration @EnableAutoConfiguration - @EnableDiscoveryClient static class PolarisDiscoveryAutoConfiguration { } - } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientConfigurationTest.java index 9f50c0be..4a066768 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientConfigurationTest.java @@ -26,7 +26,6 @@ import org.junit.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.Configuration; import static com.tencent.polaris.test.common.Consts.PORT; @@ -42,10 +41,13 @@ public class PolarisDiscoveryClientConfigurationTest { private static NamingServer namingServer; - private WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(PolarisContextAutoConfiguration.class, - PolarisDiscoveryClientConfiguration.class, PolarisContextAutoConfiguration.class)) - .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER).withPropertyValues("server.port=" + PORT) + private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() + .withConfiguration(AutoConfigurations.of( + PolarisContextAutoConfiguration.class, + PolarisDiscoveryClientConfiguration.class, + PolarisContextAutoConfiguration.class)) + .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER) + .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081"); @BeforeClass @@ -54,7 +56,7 @@ public class PolarisDiscoveryClientConfigurationTest { } @AfterClass - public static void afterClass() throws Exception { + public static void afterClass() { if (null != namingServer) { namingServer.terminate(); } @@ -73,9 +75,7 @@ public class PolarisDiscoveryClientConfigurationTest { @Configuration @EnableAutoConfiguration - @EnableDiscoveryClient static class PolarisDiscoveryClientConfiguration { } - } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscoveryTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscoveryTest.java index ed8289b6..d9c3eea2 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscoveryTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscoveryTest.java @@ -32,7 +32,6 @@ import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; import org.springframework.cloud.client.ServiceInstance; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.Configuration; import static com.tencent.polaris.test.common.Consts.NAMESPACE_TEST; @@ -49,12 +48,15 @@ public class PolarisServiceDiscoveryTest { private static NamingServer namingServer; - private WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(PolarisContextAutoConfiguration.class, + private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() + .withConfiguration(AutoConfigurations.of( + PolarisContextAutoConfiguration.class, PolarisServiceDiscoveryTest.PolarisPropertiesConfiguration.class, - PolarisDiscoveryClientConfiguration.class, PolarisDiscoveryAutoConfiguration.class, + PolarisDiscoveryClientConfiguration.class, + PolarisDiscoveryAutoConfiguration.class, PolarisContextAutoConfiguration.class)) - .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER).withPropertyValues("server.port=" + PORT) + .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER) + .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081") .withPropertyValues("spring.cloud.polaris.discovery.namespace=" + NAMESPACE_TEST) .withPropertyValues("spring.cloud.polaris.discovery.token=xxxxxx"); @@ -73,7 +75,7 @@ public class PolarisServiceDiscoveryTest { } @AfterClass - public static void afterClass() throws Exception { + public static void afterClass() { if (null != namingServer) { namingServer.terminate(); } @@ -104,9 +106,7 @@ public class PolarisServiceDiscoveryTest { @Configuration @EnableAutoConfiguration - @EnableDiscoveryClient static class PolarisPropertiesConfiguration { } - } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientConfigurationTest.java index ca64a22e..642d4304 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientConfigurationTest.java @@ -27,7 +27,6 @@ import org.junit.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.Configuration; import static com.tencent.polaris.test.common.Consts.PORT; @@ -43,11 +42,14 @@ public class PolarisReactiveDiscoveryClientConfigurationTest { private static NamingServer namingServer; - private WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(PolarisContextAutoConfiguration.class, - PolarisReactiveDiscoveryClientConfiguration.class, PolarisDiscoveryClientConfiguration.class, + private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() + .withConfiguration(AutoConfigurations.of( + PolarisContextAutoConfiguration.class, + PolarisReactiveDiscoveryClientConfiguration.class, + PolarisDiscoveryClientConfiguration.class, PolarisContextAutoConfiguration.class)) - .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER).withPropertyValues("server.port=" + PORT) + .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER) + .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081"); @BeforeClass @@ -56,7 +58,7 @@ public class PolarisReactiveDiscoveryClientConfigurationTest { } @AfterClass - public static void afterClass() throws Exception { + public static void afterClass() { if (null != namingServer) { namingServer.terminate(); } @@ -69,9 +71,7 @@ public class PolarisReactiveDiscoveryClientConfigurationTest { @Configuration @EnableAutoConfiguration - @EnableDiscoveryClient static class PolarisReactiveDiscoveryClientConfiguration { } - } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/refresh/PolarisServiceStatusChangeListenerTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/refresh/PolarisServiceStatusChangeListenerTest.java index e468a46e..7366e210 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/refresh/PolarisServiceStatusChangeListenerTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/refresh/PolarisServiceStatusChangeListenerTest.java @@ -64,7 +64,8 @@ public class PolarisServiceStatusChangeListenerTest { polarisServiceStatusChangeListener.setApplicationEventPublisher(publisher); // Service update event - ServiceEventKey serviceUpdateEventKey = new ServiceEventKey(new ServiceKey(NAMESPACE_TEST, SERVICE_PROVIDER), ServiceEventKey.EventType.SERVICE); + ServiceEventKey serviceUpdateEventKey = new ServiceEventKey( + new ServiceKey(NAMESPACE_TEST, SERVICE_PROVIDER), ServiceEventKey.EventType.SERVICE); ServiceInfo serviceInfo = new ServiceInfo(); serviceInfo.setNamespace(NAMESPACE_TEST); serviceInfo.setService(SERVICE_PROVIDER); @@ -81,7 +82,8 @@ public class PolarisServiceStatusChangeListenerTest { // Instance update event - ServiceEventKey instanceUpdateEventKey = new ServiceEventKey(new ServiceKey(NAMESPACE_TEST, SERVICE_PROVIDER), ServiceEventKey.EventType.INSTANCE); + ServiceEventKey instanceUpdateEventKey = new ServiceEventKey( + new ServiceKey(NAMESPACE_TEST, SERVICE_PROVIDER), ServiceEventKey.EventType.INSTANCE); DefaultInstance instance = new DefaultInstance(); instance.setNamespace(NAMESPACE_TEST); instance.setService(SERVICE_PROVIDER); @@ -96,7 +98,7 @@ public class PolarisServiceStatusChangeListenerTest { instances.set(oldInstances, Collections.emptyList()); ServiceInstancesByProto newInstances = new ServiceInstancesByProto(); instances.set(newInstances, Collections.singletonList(instance)); - polarisServiceStatusChangeListener.onResourceUpdated(serviceUpdateEventKey, oldInstances, newInstances); + polarisServiceStatusChangeListener.onResourceUpdated(instanceUpdateEventKey, oldInstances, newInstances); verify(publisher, times(2)).publishEvent(any(ApplicationEvent.class)); // No need update @@ -104,7 +106,7 @@ public class PolarisServiceStatusChangeListenerTest { instances.set(oldInstances, Collections.singletonList(instance)); newInstances = new ServiceInstancesByProto(); instances.set(newInstances, Collections.singletonList(instance)); - polarisServiceStatusChangeListener.onResourceUpdated(serviceUpdateEventKey, oldInstances, newInstances); + polarisServiceStatusChangeListener.onResourceUpdated(instanceUpdateEventKey, oldInstances, newInstances); verify(publisher, times(2)).publishEvent(any(ApplicationEvent.class)); } catch (NoSuchFieldException | IllegalAccessException e) { diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/endpoint/PolarisDiscoveryEndPointTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/endpoint/PolarisDiscoveryEndPointTest.java index ea5562d1..0144c8ee 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/endpoint/PolarisDiscoveryEndPointTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/endpoint/PolarisDiscoveryEndPointTest.java @@ -33,7 +33,6 @@ import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; import org.springframework.cloud.client.discovery.DiscoveryClient; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.Configuration; import static com.tencent.polaris.test.common.Consts.NAMESPACE_TEST; @@ -50,7 +49,7 @@ public class PolarisDiscoveryEndPointTest { private static NamingServer namingServer; - private WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() + private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() .withConfiguration(AutoConfigurations.of( PolarisDiscoveryEndPointTest.PolarisPropertiesConfiguration.class, PolarisDiscoveryClientConfiguration.class, @@ -59,8 +58,7 @@ public class PolarisDiscoveryEndPointTest { .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER) .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081") - .withPropertyValues( - "spring.cloud.polaris.discovery.namespace=" + NAMESPACE_TEST) + .withPropertyValues("spring.cloud.polaris.discovery.namespace=" + NAMESPACE_TEST) .withPropertyValues("spring.cloud.polaris.discovery.token=xxxxxx"); @BeforeClass @@ -69,7 +67,7 @@ public class PolarisDiscoveryEndPointTest { } @AfterClass - public static void afterClass() throws Exception { + public static void afterClass() { if (null != namingServer) { namingServer.terminate(); } @@ -88,15 +86,12 @@ public class PolarisDiscoveryEndPointTest { Map mapInfo = polarisDiscoveryEndPoint.polarisDiscovery("java_provider_test"); assertThat(polarisDiscoveryProperties).isEqualTo(mapInfo.get("PolarisDiscoveryProperties")); - }); } @Configuration @EnableAutoConfiguration - @EnableDiscoveryClient static class PolarisPropertiesConfiguration { } - } 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 26aaf8ef..1414b3d2 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 @@ -140,5 +140,4 @@ public class PolarisAutoServiceRegistrationTest { doReturn(SERVICE_PROVIDER).when(polarisDiscoveryProperties).getService(); assertThat(polarisAutoServiceRegistration.getAppName()).isEqualTo(SERVICE_PROVIDER); } - } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfigurationTest.java index 4230cdeb..9535e4fb 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfigurationTest.java @@ -28,7 +28,6 @@ import org.junit.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationAutoConfiguration; import org.springframework.context.annotation.Configuration; @@ -45,10 +44,13 @@ public class PolarisServiceRegistryAutoConfigurationTest { private static NamingServer namingServer; - private WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(PolarisContextAutoConfiguration.class, - PolarisServiceRegistryAutoConfiguration.class, PolarisDiscoveryClientConfiguration.class)) - .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER).withPropertyValues("server.port=" + PORT) + private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() + .withConfiguration(AutoConfigurations.of( + PolarisContextAutoConfiguration.class, + PolarisServiceRegistryAutoConfiguration.class, + PolarisDiscoveryClientConfiguration.class)) + .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER) + .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081"); @BeforeClass @@ -57,7 +59,7 @@ public class PolarisServiceRegistryAutoConfigurationTest { } @AfterClass - public static void afterClass() throws Exception { + public static void afterClass() { if (null != namingServer) { namingServer.terminate(); } @@ -73,9 +75,7 @@ public class PolarisServiceRegistryAutoConfigurationTest { @Configuration @EnableAutoConfiguration - @EnableDiscoveryClient static class PolarisServiceRegistryAutoConfiguration { } - } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryTest.java index 246bc64b..8a6797b7 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryTest.java @@ -49,11 +49,14 @@ public class PolarisServiceRegistryTest { private static NamingServer namingServer; - private WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() - .withConfiguration( - AutoConfigurations.of(PolarisContextAutoConfiguration.class, PolarisPropertiesConfiguration.class, - PolarisDiscoveryClientConfiguration.class, PolarisDiscoveryAutoConfiguration.class)) - .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER).withPropertyValues("server.port=" + PORT) + private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() + .withConfiguration(AutoConfigurations.of( + PolarisContextAutoConfiguration.class, + PolarisPropertiesConfiguration.class, + PolarisDiscoveryClientConfiguration.class, + PolarisDiscoveryAutoConfiguration.class)) + .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER) + .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081") .withPropertyValues("spring.cloud.polaris.discovery.namespace=" + NAMESPACE_TEST) .withPropertyValues("spring.cloud.polaris.discovery.token=xxxxxx"); @@ -67,7 +70,7 @@ public class PolarisServiceRegistryTest { } @AfterClass - public static void afterClass() throws Exception { + public static void afterClass() { if (null != namingServer) { namingServer.terminate(); } @@ -108,8 +111,7 @@ public class PolarisServiceRegistryTest { @Test public void testDeRegister() { this.contextRunner.run(context -> { - PolarisServiceRegistry registry = context - .getBean(PolarisServiceRegistry.class); + PolarisServiceRegistry registry = context.getBean(PolarisServiceRegistry.class); PolarisRegistration registration = Mockito.mock(PolarisRegistration.class); doReturn(null).when(registration).getServiceId(); try { @@ -126,5 +128,4 @@ public class PolarisServiceRegistryTest { static class PolarisPropertiesConfiguration { } - } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/constant/RateLimitConstant.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/constant/RateLimitConstant.java index 81413452..22f11ed0 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/constant/RateLimitConstant.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/constant/RateLimitConstant.java @@ -44,5 +44,4 @@ public final class RateLimitConstant { private RateLimitConstant() { } - } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpoint.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpoint.java index 28bbae22..abad381e 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpoint.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpoint.java @@ -45,13 +45,15 @@ public class PolarisRateLimitRuleEndpoint { private final ServiceRuleManager serviceRuleManager; private final PolarisRateLimitProperties polarisRateLimitProperties; - public PolarisRateLimitRuleEndpoint(ServiceRuleManager serviceRuleManager, PolarisRateLimitProperties polarisRateLimitProperties) { + public PolarisRateLimitRuleEndpoint(ServiceRuleManager serviceRuleManager, + PolarisRateLimitProperties polarisRateLimitProperties) { this.serviceRuleManager = serviceRuleManager; this.polarisRateLimitProperties = polarisRateLimitProperties; } @ReadOperation - public Map rateLimit(@Selector String namespace, @Selector String service, @Nullable String dstService) { + public Map rateLimit( + @Selector String namespace, @Selector String service, @Nullable String dstService) { Map result = new HashMap<>(); RateLimitProto.RateLimit rateLimit = serviceRuleManager.getServiceRateLimitRule(namespace, service); result.put("properties", polarisRateLimitProperties); @@ -97,5 +99,4 @@ public class PolarisRateLimitRuleEndpoint { } return rateLimitRule; } - } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointAutoConfiguration.java index d1683298..de5b6bfe 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointAutoConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointAutoConfiguration.java @@ -46,5 +46,4 @@ public class PolarisRateLimitRuleEndpointAutoConfiguration { public PolarisRateLimitRuleEndpoint polarisRateLimitRuleEndpoint(ServiceRuleManager serviceRuleManager, PolarisRateLimitProperties properties) { return new PolarisRateLimitRuleEndpoint(serviceRuleManager, properties); } - } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilter.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilter.java index b4fff038..c9898a45 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilter.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilter.java @@ -101,8 +101,8 @@ public class QuotaCheckReactiveFilter implements WebFilter, Ordered { try { String path = exchange.getRequest().getURI().getPath(); - QuotaResponse quotaResponse = QuotaCheckUtils.getQuota(limitAPI, - localNamespace, localService, 1, labels, path); + QuotaResponse quotaResponse = QuotaCheckUtils.getQuota( + limitAPI, localNamespace, localService, 1, labels, path); if (quotaResponse.getCode() == QuotaResultCode.QuotaResultLimited) { ServerHttpResponse response = exchange.getResponse(); @@ -162,5 +162,4 @@ public class QuotaCheckReactiveFilter implements WebFilter, Ordered { Set expressionLabels = rateLimitRuleLabelResolver.getExpressionLabelKeys(namespace, service); return ExpressionLabelUtils.resolve(exchange, expressionLabels); } - } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilter.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilter.java index cd87fd72..60670e39 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilter.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilter.java @@ -58,13 +58,11 @@ import static com.tencent.cloud.polaris.ratelimit.constant.RateLimitConstant.LAB @Order(RateLimitConstant.FILTER_ORDER) public class QuotaCheckServletFilter extends OncePerRequestFilter { - private static final Logger LOG = LoggerFactory.getLogger(QuotaCheckServletFilter.class); - /** - * Default Filter Registration Bean Name Defined . + * Default Filter Registration Bean Name Defined. */ public static final String QUOTA_FILTER_BEAN_NAME = "quotaFilterRegistrationBean"; - + private static final Logger LOG = LoggerFactory.getLogger(QuotaCheckServletFilter.class); private final LimitAPI limitAPI; private final PolarisRateLimiterLabelServletResolver labelResolver; @@ -99,8 +97,8 @@ public class QuotaCheckServletFilter extends OncePerRequestFilter { Map labels = getRequestLabels(request, localNamespace, localService); try { - QuotaResponse quotaResponse = QuotaCheckUtils.getQuota(limitAPI, - localNamespace, localService, 1, labels, request.getRequestURI()); + QuotaResponse quotaResponse = QuotaCheckUtils.getQuota( + limitAPI, localNamespace, localService, 1, labels, request.getRequestURI()); if (quotaResponse.getCode() == QuotaResultCode.QuotaResultLimited) { response.setStatus(polarisRateLimitProperties.getRejectHttpCode()); diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/spi/PolarisRateLimiterLabelReactiveResolver.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/spi/PolarisRateLimiterLabelReactiveResolver.java index 4ebcc192..6f63cbc9 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/spi/PolarisRateLimiterLabelReactiveResolver.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/spi/PolarisRateLimiterLabelReactiveResolver.java @@ -35,5 +35,4 @@ public interface PolarisRateLimiterLabelReactiveResolver { * @return resolved labels */ Map resolve(ServerWebExchange exchange); - } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/spi/PolarisRateLimiterLabelServletResolver.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/spi/PolarisRateLimiterLabelServletResolver.java index 253b67b5..1ec3a7a0 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/spi/PolarisRateLimiterLabelServletResolver.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/spi/PolarisRateLimiterLabelServletResolver.java @@ -35,5 +35,4 @@ public interface PolarisRateLimiterLabelServletResolver { * @return resolved labels */ Map resolve(HttpServletRequest request); - } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/utils/QuotaCheckUtils.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/utils/QuotaCheckUtils.java index 6f18b858..ff08fe34 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/utils/QuotaCheckUtils.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/utils/QuotaCheckUtils.java @@ -55,5 +55,4 @@ public final class QuotaCheckUtils { return new QuotaResponse(new QuotaResult(QuotaResult.Code.QuotaResultOk, 0, "get quota failed")); } } - } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/utils/RateLimitUtils.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/utils/RateLimitUtils.java index 334035dc..07ee0633 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/utils/RateLimitUtils.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/utils/RateLimitUtils.java @@ -63,5 +63,4 @@ public final class RateLimitUtils { return RateLimitConstant.QUOTA_LIMITED_INFO; } - } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolverTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolverTest.java index 73d39dad..96b73cea 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolverTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolverTest.java @@ -42,13 +42,11 @@ import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class RateLimitRuleLabelResolverTest { - private ServiceRuleManager serviceRuleManager; - private RateLimitRuleLabelResolver rateLimitRuleLabelResolver; @Before public void setUp() { - serviceRuleManager = mock(ServiceRuleManager.class); + ServiceRuleManager serviceRuleManager = mock(ServiceRuleManager.class); when(serviceRuleManager.getServiceRateLimitRule(any(), anyString())).thenAnswer(invocationOnMock -> { String serviceName = invocationOnMock.getArgument(1).toString(); if (serviceName.equals("TestApp1")) { diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfigurationTest.java index 076136b7..bcd3cf32 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfigurationTest.java @@ -66,7 +66,8 @@ public class PolarisRateLimitAutoConfigurationTest { @Test public void testServletWebApplication() { this.webApplicationContextRunner - .withConfiguration(AutoConfigurations.of(PolarisContextAutoConfiguration.class, + .withConfiguration(AutoConfigurations.of( + PolarisContextAutoConfiguration.class, PolarisRateLimitProperties.class, PolarisRateLimitAutoConfiguration.class)) .run(context -> { @@ -83,7 +84,8 @@ public class PolarisRateLimitAutoConfigurationTest { @Test public void testReactiveWebApplication() { this.reactiveWebApplicationContextRunner - .withConfiguration(AutoConfigurations.of(PolarisContextAutoConfiguration.class, + .withConfiguration(AutoConfigurations.of( + PolarisContextAutoConfiguration.class, PolarisRateLimitProperties.class, PolarisRateLimitAutoConfiguration.class)) .run(context -> { diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfigurationTest.java index 258dd557..f3130ed7 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfigurationTest.java @@ -31,9 +31,8 @@ import static org.assertj.core.api.Assertions.assertThat; */ public class PolarisRateLimitPropertiesAutoConfigurationTest { - private ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration( - AutoConfigurations.of(PolarisRateLimitPropertiesAutoConfiguration.class)); + private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() + .withConfiguration(AutoConfigurations.of(PolarisRateLimitPropertiesAutoConfiguration.class)); @Test public void testDefaultInitialization() { diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesBootstrapConfigurationTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesBootstrapConfigurationTest.java index 71e7334c..90c88f98 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesBootstrapConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesBootstrapConfigurationTest.java @@ -31,9 +31,8 @@ import static org.assertj.core.api.Assertions.assertThat; */ public class PolarisRateLimitPropertiesBootstrapConfigurationTest { - private ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration( - AutoConfigurations.of(PolarisRateLimitPropertiesBootstrapConfiguration.class)) + private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() + .withConfiguration(AutoConfigurations.of(PolarisRateLimitPropertiesBootstrapConfiguration.class)) .withPropertyValues("spring.cloud.polaris.enabled=true"); @Test diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/controller/CalleeControllerTests.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/controller/CalleeControllerTests.java index 3c1ff283..3051916b 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/controller/CalleeControllerTests.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/controller/CalleeControllerTests.java @@ -56,9 +56,9 @@ import static org.mockito.Mockito.when; */ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - classes = { CalleeControllerTests.Config.class, TestController.class }, - properties = { "spring.application.name=java_provider_test", "spring.cloud.polaris.discovery.namespace=Test", - "spring.cloud.polaris.address=grpc://127.0.0.1:10081" }) + classes = {CalleeControllerTests.Config.class, TestController.class}, + properties = {"spring.application.name=java_provider_test", "spring.cloud.polaris.discovery.namespace=Test", + "spring.cloud.polaris.address=grpc://127.0.0.1:10081"}) public class CalleeControllerTests { private static NamingServer namingServer; @@ -86,7 +86,7 @@ public class CalleeControllerTests { } @AfterClass - public static void afterClass() throws Exception { + public static void afterClass() { if (null != namingServer) { namingServer.terminate(); } @@ -142,5 +142,4 @@ public class CalleeControllerTests { } } - } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/controller/TestController.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/controller/TestController.java index 1ede96b4..234b9507 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/controller/TestController.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/controller/TestController.java @@ -34,5 +34,4 @@ public class TestController { public String info() throws Exception { return "hello service info"; } - } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointTests.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointTests.java index 9f9c50b6..eda08c48 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointTests.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointTests.java @@ -60,8 +60,7 @@ public class PolarisRateLimitRuleEndpointTests { .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER) .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081") - .withPropertyValues( - "spring.cloud.polaris.discovery.namespace=" + NAMESPACE_TEST) + .withPropertyValues("spring.cloud.polaris.discovery.namespace=" + NAMESPACE_TEST) .withPropertyValues("spring.cloud.polaris.discovery.token=xxxxxx"); private ServiceRuleManager serviceRuleManager; 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 27bcb408..f15261f3 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 @@ -69,22 +69,21 @@ import static org.mockito.Mockito.when; * @author Haotian Zhang, kaiy */ @RunWith(MockitoJUnitRunner.class) -@SpringBootTest(classes = QuotaCheckReactiveFilterTest.TestApplication.class, properties = { - "spring.cloud.polaris.namespace=Test", "spring.cloud.polaris.service=TestApp" -}) +@SpringBootTest(classes = QuotaCheckReactiveFilterTest.TestApplication.class, + properties = {"spring.cloud.polaris.namespace=Test", "spring.cloud.polaris.service=TestApp"}) public class QuotaCheckReactiveFilterTest { - private PolarisRateLimiterLabelReactiveResolver labelResolver = exchange -> Collections.singletonMap("ReactiveResolver", "ReactiveResolver"); - - private QuotaCheckReactiveFilter quotaCheckReactiveFilter; - private static MockedStatic mockedApplicationContextAwareUtils; private static MockedStatic expressionLabelUtilsMockedStatic; + private final PolarisRateLimiterLabelReactiveResolver labelResolver = + exchange -> Collections.singletonMap("ReactiveResolver", "ReactiveResolver"); + private QuotaCheckReactiveFilter quotaCheckReactiveFilter; @BeforeClass public static void beforeClass() { expressionLabelUtilsMockedStatic = mockStatic(ExpressionLabelUtils.class); - when(ExpressionLabelUtils.resolve(any(ServerWebExchange.class), anySet())).thenReturn(Collections.singletonMap("RuleLabelResolver", "RuleLabelResolver")); + when(ExpressionLabelUtils.resolve(any(ServerWebExchange.class), anySet())) + .thenReturn(Collections.singletonMap("RuleLabelResolver", "RuleLabelResolver")); mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) @@ -123,9 +122,11 @@ public class QuotaCheckReactiveFilterTest { polarisRateLimitProperties.setRejectHttpCode(419); RateLimitRuleLabelResolver rateLimitRuleLabelResolver = mock(RateLimitRuleLabelResolver.class); - when(rateLimitRuleLabelResolver.getExpressionLabelKeys(anyString(), anyString())).thenReturn(Collections.EMPTY_SET); + when(rateLimitRuleLabelResolver.getExpressionLabelKeys(anyString(), anyString())) + .thenReturn(Collections.emptySet()); - this.quotaCheckReactiveFilter = new QuotaCheckReactiveFilter(limitAPI, labelResolver, polarisRateLimitProperties, rateLimitRuleLabelResolver); + this.quotaCheckReactiveFilter = new QuotaCheckReactiveFilter( + limitAPI, labelResolver, polarisRateLimitProperties, rateLimitRuleLabelResolver); } @Test @@ -149,7 +150,8 @@ public class QuotaCheckReactiveFilterTest { @Test public void testGetRuleExpressionLabels() { try { - Method getCustomResolvedLabels = QuotaCheckReactiveFilter.class.getDeclaredMethod("getCustomResolvedLabels", ServerWebExchange.class); + Method getCustomResolvedLabels = + QuotaCheckReactiveFilter.class.getDeclaredMethod("getCustomResolvedLabels", ServerWebExchange.class); getCustomResolvedLabels.setAccessible(true); // Mock request @@ -162,11 +164,8 @@ public class QuotaCheckReactiveFilterTest { assertThat(result.get("ReactiveResolver")).isEqualTo("ReactiveResolver"); // throw exception - PolarisRateLimiterLabelReactiveResolver exceptionLabelResolver = new PolarisRateLimiterLabelReactiveResolver() { - @Override - public Map resolve(ServerWebExchange exchange) { - throw new RuntimeException("Mock exception."); - } + PolarisRateLimiterLabelReactiveResolver exceptionLabelResolver = exchange1 -> { + throw new RuntimeException("Mock exception."); }; quotaCheckReactiveFilter = new QuotaCheckReactiveFilter(null, exceptionLabelResolver, null, null); result = (Map) getCustomResolvedLabels.invoke(quotaCheckReactiveFilter, exchange); @@ -203,7 +202,9 @@ public class QuotaCheckReactiveFilterTest { MetadataContext.LOCAL_SERVICE = "TestApp2"; long startTimestamp = System.currentTimeMillis(); CountDownLatch countDownLatch = new CountDownLatch(1); - quotaCheckReactiveFilter.filter(exchange, webFilterChain).subscribe(e -> { }, t -> { }, countDownLatch::countDown); + quotaCheckReactiveFilter.filter(exchange, webFilterChain).subscribe(e -> { + }, t -> { + }, countDownLatch::countDown); try { countDownLatch.await(); } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilterTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilterTest.java index 3f93f0a3..7552efd9 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilterTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilterTest.java @@ -73,18 +73,18 @@ import static org.mockito.Mockito.when; }) public class QuotaCheckServletFilterTest { - private PolarisRateLimiterLabelServletResolver labelResolver = exchange -> Collections.singletonMap("ServletResolver", "ServletResolver"); - + private static MockedStatic mockedApplicationContextAwareUtils; + private static MockedStatic expressionLabelUtilsMockedStatic; + private final PolarisRateLimiterLabelServletResolver labelResolver = + exchange -> Collections.singletonMap("ServletResolver", "ServletResolver"); private QuotaCheckServletFilter quotaCheckServletFilter; - private QuotaCheckServletFilter quotaCheckWithHtmlRejectTipsServletFilter; - private static MockedStatic mockedApplicationContextAwareUtils; - private static MockedStatic expressionLabelUtilsMockedStatic; @BeforeClass public static void beforeClass() { expressionLabelUtilsMockedStatic = mockStatic(ExpressionLabelUtils.class); - when(ExpressionLabelUtils.resolve(any(ServerWebExchange.class), anySet())).thenReturn(Collections.singletonMap("RuleLabelResolver", "RuleLabelResolver")); + when(ExpressionLabelUtils.resolve(any(ServerWebExchange.class), anySet())) + .thenReturn(Collections.singletonMap("RuleLabelResolver", "RuleLabelResolver")); mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) @@ -127,10 +127,12 @@ public class QuotaCheckServletFilterTest { polarisRateLimitWithHtmlRejectTipsProperties.setRejectHttpCode(419); RateLimitRuleLabelResolver rateLimitRuleLabelResolver = mock(RateLimitRuleLabelResolver.class); - when(rateLimitRuleLabelResolver.getExpressionLabelKeys(anyString(), anyString())).thenReturn(Collections.EMPTY_SET); + when(rateLimitRuleLabelResolver.getExpressionLabelKeys(anyString(), anyString())).thenReturn(Collections.emptySet()); - this.quotaCheckServletFilter = new QuotaCheckServletFilter(limitAPI, labelResolver, polarisRateLimitProperties, rateLimitRuleLabelResolver); - this.quotaCheckWithHtmlRejectTipsServletFilter = new QuotaCheckServletFilter(limitAPI, labelResolver, polarisRateLimitWithHtmlRejectTipsProperties, rateLimitRuleLabelResolver); + this.quotaCheckServletFilter = new QuotaCheckServletFilter( + limitAPI, labelResolver, polarisRateLimitProperties, rateLimitRuleLabelResolver); + this.quotaCheckWithHtmlRejectTipsServletFilter = new QuotaCheckServletFilter( + limitAPI, labelResolver, polarisRateLimitWithHtmlRejectTipsProperties, rateLimitRuleLabelResolver); } @Test diff --git a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/RouterConstants.java b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/RouterConstants.java index 6437c83e..943ffa18 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/RouterConstants.java +++ b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/RouterConstants.java @@ -21,12 +21,14 @@ package com.tencent.cloud.polaris.router; /** * Router constants. * - *@author lepdou 2022-05-17 + * @author lepdou 2022-05-17 */ -public class RouterConstants { - +public final class RouterConstants { /** * the header of router label. */ public static final String ROUTER_LABEL_HEADER = "internal-router-label"; + + private RouterConstants() { + } } diff --git a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/feign/FeignExpressionLabelUtils.java b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/feign/FeignExpressionLabelUtils.java index 92b8a660..152ffcc9 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/feign/FeignExpressionLabelUtils.java +++ b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/feign/FeignExpressionLabelUtils.java @@ -33,9 +33,13 @@ import org.springframework.util.CollectionUtils; /** * Resolve rule expression label from feign request. + * * @author lepdou 2022-05-20 */ -public class FeignExpressionLabelUtils { +public final class FeignExpressionLabelUtils { + + private FeignExpressionLabelUtils() { + } public static Map resolve(RequestTemplate request, Set labelKeys) { if (CollectionUtils.isEmpty(labelKeys)) { diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/ContextConstant.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/ContextConstant.java index 8aa7079c..e2b2608b 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/ContextConstant.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/ContextConstant.java @@ -68,7 +68,5 @@ public final class ContextConstant { * Order of configuration modifier. */ public static Integer CONFIG_ORDER = 1; - } - } diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/MetadataConstant.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/MetadataConstant.java index e28c4304..09e17e1e 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/MetadataConstant.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/MetadataConstant.java @@ -45,7 +45,6 @@ public final class MetadataConstant { * Order of Metadata2HeaderInterceptor. */ public static int METADATA_2_HEADER_INTERCEPTOR_ORDER = Ordered.LOWEST_PRECEDENCE; - } /** @@ -67,7 +66,5 @@ public final class MetadataConstant { * Metadata context. */ public static final String METADATA_CONTEXT = "SCT-METADATA-CONTEXT"; - } - } diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java index 1a48a0b0..3d3064ba 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java @@ -105,5 +105,4 @@ public final class MetadataContextHolder { public static void remove() { METADATA_CONTEXT.remove(); } - } diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/StaticMetadataManager.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/StaticMetadataManager.java index 5d4143b7..a717db43 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/StaticMetadataManager.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/StaticMetadataManager.java @@ -35,18 +35,9 @@ import org.springframework.util.CollectionUtils; /** * manage metadata from env/config file/custom spi. * - *@author lepdou 2022-05-20 + * @author lepdou 2022-05-20 */ public class StaticMetadataManager { - private static final Logger LOGGER = LoggerFactory.getLogger(StaticMetadataManager.class); - - private static final String ENV_METADATA_PREFIX = "SCT_METADATA_CONTENT_"; - private static final int ENV_METADATA_PREFIX_LENGTH = ENV_METADATA_PREFIX.length(); - private static final String ENV_METADATA_CONTENT_TRANSITIVE = "SCT_METADATA_CONTENT_TRANSITIVE"; - private static final String ENV_METADATA_ZONE = "SCT_METADATA_ZONE"; - private static final String ENV_METADATA_REGION = "SCT_METADATA_REGION"; - private static final String ENV_METADATA_CAMPUS = "SCT_METADATA_CAMPUS"; - /** * the metadata key of region. */ @@ -59,7 +50,13 @@ public class StaticMetadataManager { * the metadata key of campus/datacenter. */ public static final String LOCATION_KEY_CAMPUS = "campus"; - + private static final Logger LOGGER = LoggerFactory.getLogger(StaticMetadataManager.class); + private static final String ENV_METADATA_PREFIX = "SCT_METADATA_CONTENT_"; + private static final int ENV_METADATA_PREFIX_LENGTH = ENV_METADATA_PREFIX.length(); + private static final String ENV_METADATA_CONTENT_TRANSITIVE = "SCT_METADATA_CONTENT_TRANSITIVE"; + private static final String ENV_METADATA_ZONE = "SCT_METADATA_ZONE"; + private static final String ENV_METADATA_REGION = "SCT_METADATA_REGION"; + private static final String ENV_METADATA_CAMPUS = "SCT_METADATA_CAMPUS"; private Map envMetadata; private Map envTransitiveMetadata; private Map configMetadata; diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/filter/gateway/MetadataFirstScgFilter.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/filter/gateway/MetadataFirstScgFilter.java index a79ba532..6cc17a9c 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/filter/gateway/MetadataFirstScgFilter.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/filter/gateway/MetadataFirstScgFilter.java @@ -61,5 +61,4 @@ public class MetadataFirstScgFilter implements GlobalFilter, Ordered { return chain.filter(exchange); } - } 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 9318c1ad..787abe3b 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 @@ -93,5 +93,4 @@ public class PolarisServiceInstance implements ServiceInstance { public String getScheme() { return this.scheme; } - } diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/spi/InstanceMetadataProvider.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/spi/InstanceMetadataProvider.java index dd5f03e1..5434aa14 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/spi/InstanceMetadataProvider.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/spi/InstanceMetadataProvider.java @@ -23,8 +23,8 @@ import java.util.Map; import java.util.Set; /** - * * Instance's custom metadata, metadata will be register to polaris server. + * * @author lepdou 2022-06-16 */ public interface InstanceMetadataProvider { diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/BeanFactoryUtils.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/BeanFactoryUtils.java index 715a154f..7bfd0c87 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/BeanFactoryUtils.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/BeanFactoryUtils.java @@ -28,9 +28,13 @@ import org.springframework.beans.factory.support.DefaultListableBeanFactory; /** * the utils for bean factory. + * * @author lepdou 2022-05-23 */ -public class BeanFactoryUtils { +public final class BeanFactoryUtils { + + private BeanFactoryUtils() { + } public static List getBeans(BeanFactory beanFactory, Class requiredType) { if (!(beanFactory instanceof DefaultListableBeanFactory)) { diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/ExpressionLabelUtils.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/ExpressionLabelUtils.java index e1ecb9d3..aa568311 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/ExpressionLabelUtils.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/ExpressionLabelUtils.java @@ -40,9 +40,9 @@ import org.springframework.web.server.ServerWebExchange; /** * the utils for parse label expression. * - *@author lepdou 2022-05-13 + * @author lepdou 2022-05-13 */ -public class ExpressionLabelUtils { +public final class ExpressionLabelUtils { /** * the expression prefix of header label. @@ -84,6 +84,8 @@ public class ExpressionLabelUtils { * the suffix of expression. */ public static final String LABEL_SUFFIX = "}"; + private ExpressionLabelUtils() { + } public static boolean isExpressionLabel(String labelKey) { if (StringUtils.isEmpty(labelKey)) { 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 700f7556..811b3c2d 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 @@ -36,7 +36,7 @@ import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = MetadataContextHolderTest.TestApplication.class, - properties = { "spring.config.location = classpath:application-test.yml" }) + properties = {"spring.config.location = classpath:application-test.yml"}) public class MetadataContextHolderTest { @Test @@ -77,5 +77,4 @@ public class MetadataContextHolderTest { protected static class TestApplication { } - } diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/StaticMetadataManagerTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/StaticMetadataManagerTest.java index 3c8ae438..085b13e2 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/StaticMetadataManagerTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/StaticMetadataManagerTest.java @@ -38,8 +38,9 @@ import static org.mockito.Mockito.when; /** - * test for {@link StaticMetadataManager} - *@author lepdou 2022-06-27 + * test for {@link StaticMetadataManager}. + * + * @author lepdou 2022-06-27 */ @RunWith(MockitoJUnitRunner.class) public class StaticMetadataManagerTest { @@ -182,5 +183,4 @@ public class StaticMetadataManagerTest { return null; } } - } diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataAutoConfigurationTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataAutoConfigurationTest.java index fb19efb1..5dd74088 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataAutoConfigurationTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataAutoConfigurationTest.java @@ -84,5 +84,4 @@ public class MetadataAutoConfigurationTest { Assertions.assertThat(context).hasSingleBean(MetadataFirstScgFilter.class); }); } - } 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 815010ce..2ef25072 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 @@ -34,7 +34,7 @@ import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.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"}) public class MetadataLocalPropertiesTest { @Autowired @@ -42,22 +42,18 @@ public class MetadataLocalPropertiesTest { @Test public void test1() { - Assertions.assertThat(metadataLocalProperties.getContent().get("a")) - .isEqualTo("1"); - Assertions.assertThat(metadataLocalProperties.getContent().get("b")) - .isEqualTo("2"); + Assertions.assertThat(metadataLocalProperties.getContent().get("a")).isEqualTo("1"); + Assertions.assertThat(metadataLocalProperties.getContent().get("b")).isEqualTo("2"); Assertions.assertThat(metadataLocalProperties.getContent().get("c")).isNull(); } @Test public void test2() { - Assertions.assertThat(metadataLocalProperties.getTransitive().contains("b")) - .isTrue(); + Assertions.assertThat(metadataLocalProperties.getTransitive().contains("b")).isTrue(); } @SpringBootApplication protected static class TestApplication { } - } diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/AddressUtilsTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/AddressUtilsTest.java index 8040e7ad..ca50c360 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/AddressUtilsTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/AddressUtilsTest.java @@ -26,8 +26,9 @@ import org.junit.runner.RunWith; import org.mockito.junit.MockitoJUnitRunner; /** - * test for {@link AddressUtils} - *@author lepdou 2022-05-27 + * test for {@link AddressUtils}. + * + * @author lepdou 2022-05-27 */ @RunWith(MockitoJUnitRunner.class) public class AddressUtilsTest { diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionLabelUtilsTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionLabelUtilsTest.java index 379263d9..8e312453 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionLabelUtilsTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionLabelUtilsTest.java @@ -37,8 +37,9 @@ import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.server.MockServerWebExchange; /** - * test for {@link ExpressionLabelUtils} - *@author lepdou 2022-05-27 + * test for {@link ExpressionLabelUtils}. + * + * @author lepdou 2022-05-27 */ @RunWith(MockitoJUnitRunner.class) public class ExpressionLabelUtilsTest { @@ -209,5 +210,4 @@ public class ExpressionLabelUtilsTest { Assert.assertNull(result.get(invalidLabel8)); Assert.assertNull(result.get(invalidLabel9)); } - } diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ResourceFileUtilsTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ResourceFileUtilsTest.java index 769d99ce..a3cb8a96 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ResourceFileUtilsTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ResourceFileUtilsTest.java @@ -26,8 +26,9 @@ import org.junit.runner.RunWith; import org.mockito.junit.MockitoJUnitRunner; /** - * test for {@link ResourceFileUtils} - *@author lepdou 2022-05-27 + * test for {@link ResourceFileUtils}. + * + * @author lepdou 2022-05-27 */ @RunWith(MockitoJUnitRunner.class) public class ResourceFileUtilsTest { diff --git a/spring-cloud-tencent-dependencies/pom.xml b/spring-cloud-tencent-dependencies/pom.xml index 1ae7f58b..47309be4 100644 --- a/spring-cloud-tencent-dependencies/pom.xml +++ b/spring-cloud-tencent-dependencies/pom.xml @@ -73,7 +73,7 @@ 1.6.0-2021.0.3-SNAPSHOT - 1.7.0-SNAPSHOT + 1.7.0 31.0.1-jre 1.2.11 4.5.1 diff --git a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service/src/main/resources/bootstrap.yml b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service/src/main/resources/bootstrap.yml index 2d0d75a4..c6d40440 100644 --- a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service/src/main/resources/bootstrap.yml +++ b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service/src/main/resources/bootstrap.yml @@ -5,6 +5,10 @@ spring: application: name: GatewayCalleeService cloud: + tencent: + metadata: + content: + env: blue polaris: address: grpc://183.47.111.80:8091 namespace: default diff --git a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service2/src/main/resources/bootstrap.yml b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service2/src/main/resources/bootstrap.yml index f124251c..a0cf1258 100644 --- a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service2/src/main/resources/bootstrap.yml +++ b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service2/src/main/resources/bootstrap.yml @@ -5,6 +5,10 @@ spring: application: name: GatewayCalleeService cloud: + tencent: + metadata: + content: + env: green polaris: address: grpc://183.47.111.80:8091 namespace: default diff --git a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/java/com/tencent/cloud/ratelimit/example/service/callee/BusinessController.java b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/java/com/tencent/cloud/ratelimit/example/service/callee/BusinessController.java index 92f1354c..17b14efa 100644 --- a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/java/com/tencent/cloud/ratelimit/example/service/callee/BusinessController.java +++ b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/java/com/tencent/cloud/ratelimit/example/service/callee/BusinessController.java @@ -17,6 +17,7 @@ package com.tencent.cloud.ratelimit.example.service.callee; +import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; @@ -64,24 +65,28 @@ public class BusinessController { } @GetMapping("/invoke") - public String invokeInfo() { - StringBuilder builder = new StringBuilder(); + public String invokeInfo() throws InterruptedException { + StringBuffer builder = new StringBuffer(); + CountDownLatch count = new CountDownLatch(30); for (int i = 0; i < 30; i++) { - try { - ResponseEntity entity = restTemplate.getForEntity("http://" + appName + "/business/info", - String.class); - builder.append(entity.getBody()).append("
"); - } - catch (RestClientException e) { - if (e instanceof TooManyRequests) { - builder.append(((TooManyRequests) e).getResponseBodyAsString()).append(index.incrementAndGet()) - .append("
"); + new Thread(() -> { + try { + ResponseEntity entity = restTemplate.getForEntity("http://" + appName + "/business/info", + String.class); + builder.append(entity.getBody() + "\n"); } - else { - throw e; + catch (RestClientException e) { + if (e instanceof TooManyRequests) { + builder.append("TooManyRequests " + index.incrementAndGet() + "\n"); + } + else { + throw e; + } } - } + count.countDown(); + }).start(); } + count.await(); return builder.toString(); } diff --git a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/resources/bootstrap.yml b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/resources/bootstrap.yml index 6741bde1..ebf385de 100644 --- a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/resources/bootstrap.yml +++ b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/resources/bootstrap.yml @@ -11,11 +11,14 @@ spring: ratelimit: enabled: true rejectRequestTipsFilePath: reject-tips.html - maxQueuingTime: 500 + maxQueuingTime: 1000 management: endpoints: web: exposure: include: - - polaris-ratelimit \ No newline at end of file + - polaris-ratelimit +logging: + level: + com.tencent.cloud.polaris: debug diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/ModifyAddress.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/ModifyAddress.java index b57cbfe9..a7a1e551 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/ModifyAddress.java +++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/ModifyAddress.java @@ -53,5 +53,4 @@ public class ModifyAddress implements PolarisConfigModifier { public int getOrder() { return ContextConstant.ModifierOrder.FIRST; } - } diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisConfigModifier.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisConfigModifier.java index 0152b7b6..0f77e5b0 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisConfigModifier.java +++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisConfigModifier.java @@ -28,14 +28,15 @@ public interface PolarisConfigModifier { /** * Modify configuration. + * * @param configuration configuration to be modified */ void modify(ConfigurationImpl configuration); /** * Get modifier order for sorting. + * * @return order */ int getOrder(); - } diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PostInitPolarisSDKContext.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PostInitPolarisSDKContext.java index 014ca5ba..bf41c50b 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PostInitPolarisSDKContext.java +++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PostInitPolarisSDKContext.java @@ -26,7 +26,8 @@ import org.apache.commons.lang.StringUtils; /** * After all configurations are loaded, post-initialize SDKContext. - *@author lepdou 2022-06-28 + * + * @author lepdou 2022-06-28 */ public class PostInitPolarisSDKContext { diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/ServiceRuleManager.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/ServiceRuleManager.java index 1a0af32b..06d71f65 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/ServiceRuleManager.java +++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/ServiceRuleManager.java @@ -38,7 +38,7 @@ import com.tencent.polaris.client.pb.RoutingProto; /** * the manager of service governance rules. for example: rate limit rule, router rules. * - *@author lepdou 2022-05-13 + * @author lepdou 2022-05-13 */ public class ServiceRuleManager { diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextAutoConfiguration.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextAutoConfiguration.java index f2a1a3f0..c1e77263 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextAutoConfiguration.java +++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextAutoConfiguration.java @@ -44,8 +44,7 @@ public class PolarisContextAutoConfiguration { @Bean(name = "polarisContext", initMethod = "init", destroyMethod = "destroy") @ConditionalOnMissingBean public SDKContext polarisContext(PolarisContextProperties properties, Environment environment, - List modifierList) - throws PolarisException { + List modifierList) throws PolarisException { return SDKContext.initContextByConfig(properties.configuration(environment, modifierList)); } diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextPostConfiguration.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextPostConfiguration.java index 773667ca..af0e635a 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextPostConfiguration.java +++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextPostConfiguration.java @@ -27,13 +27,15 @@ import org.springframework.context.annotation.Configuration; /** * Post-initialization operations after the application initialization phase is completed. - *@author lepdou 2022-06-28 + * + * @author lepdou 2022-06-28 */ @Configuration(proxyBeanMethods = false) public class PolarisContextPostConfiguration { @Bean - public PostInitPolarisSDKContext postInitPolarisSDKContext(SDKContext sdkContext, StaticMetadataManager staticMetadataManager) { + public PostInitPolarisSDKContext postInitPolarisSDKContext( + SDKContext sdkContext, StaticMetadataManager staticMetadataManager) { return new PostInitPolarisSDKContext(sdkContext, staticMetadataManager); } } diff --git a/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PolarisContextAutoConfigurationTest.java b/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PolarisContextAutoConfigurationTest.java index 2a926cc1..21e0868b 100644 --- a/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PolarisContextAutoConfigurationTest.java +++ b/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PolarisContextAutoConfigurationTest.java @@ -27,6 +27,8 @@ import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.cloud.commons.util.UtilAutoConfiguration; /** + * Test for {@link PolarisContextAutoConfiguration}. + * * @author liaochuntao */ public class PolarisContextAutoConfigurationTest { @@ -44,5 +46,4 @@ public class PolarisContextAutoConfigurationTest { Assert.assertNotNull(sdkContext); }); } - } diff --git a/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PolarisContextGetHostTest.java b/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PolarisContextGetHostTest.java index 9985113d..188904f7 100644 --- a/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PolarisContextGetHostTest.java +++ b/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PolarisContextGetHostTest.java @@ -20,7 +20,6 @@ package com.tencent.cloud.polaris.context; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.cloud.polaris.context.config.PolarisContextProperties; import com.tencent.polaris.client.api.SDKContext; -import org.junit.Assert; import org.junit.Test; import org.junit.platform.commons.util.StringUtils; import org.junit.runner.RunWith; @@ -30,10 +29,17 @@ import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Test for {@link SDKContext}. + * + * @author Haotian Zhang + */ @RunWith(SpringRunner.class) @SpringBootTest(classes = PolarisContextApplication.class, - properties = { "spring.config.location = classpath:bootstrap.yml" }) -@ImportAutoConfiguration({ PolarisContextAutoConfiguration.class }) + properties = {"spring.config.location = classpath:bootstrap.yml"}) +@ImportAutoConfiguration({PolarisContextAutoConfiguration.class}) public class PolarisContextGetHostTest { @Autowired @@ -45,9 +51,8 @@ public class PolarisContextGetHostTest { @Test public void testGetConfigHost() { String bindIP = polarisContext.getConfig().getGlobal().getAPI().getBindIP(); - Assert.assertFalse(StringUtils.isBlank(bindIP)); - Assert.assertEquals(bindIP, "192.168.1.1"); - Assert.assertEquals(polarisContextProperties.getNamespace(), "dev"); + assertThat(StringUtils.isBlank(bindIP)).isFalse(); + assertThat(bindIP).isEqualTo("192.168.1.1"); + assertThat(polarisContextProperties.getNamespace()).isEqualTo("dev"); } - } diff --git a/spring-cloud-tencent-polaris-loadbalancer/src/main/java/com/tencent/cloud/polaris/loadbalancer/LoadBalancerUtils.java b/spring-cloud-tencent-polaris-loadbalancer/src/main/java/com/tencent/cloud/polaris/loadbalancer/LoadBalancerUtils.java index 47217fd9..64a67140 100644 --- a/spring-cloud-tencent-polaris-loadbalancer/src/main/java/com/tencent/cloud/polaris/loadbalancer/LoadBalancerUtils.java +++ b/spring-cloud-tencent-polaris-loadbalancer/src/main/java/com/tencent/cloud/polaris/loadbalancer/LoadBalancerUtils.java @@ -37,9 +37,12 @@ import org.springframework.util.CollectionUtils; /** * load balancer utils. * - *@author lepdou 2022-05-17 + * @author lepdou 2022-05-17 */ -public class LoadBalancerUtils { +public final class LoadBalancerUtils { + + private LoadBalancerUtils() { + } public static ServiceInstances transferServersToServiceInstances(Flux> servers) { AtomicReference> instances = new AtomicReference<>(); diff --git a/spring-cloud-tencent-polaris-loadbalancer/src/main/java/com/tencent/cloud/polaris/loadbalancer/PolarisServiceInstanceListSupplier.java b/spring-cloud-tencent-polaris-loadbalancer/src/main/java/com/tencent/cloud/polaris/loadbalancer/PolarisServiceInstanceListSupplier.java index b0119932..04227b4d 100644 --- a/spring-cloud-tencent-polaris-loadbalancer/src/main/java/com/tencent/cloud/polaris/loadbalancer/PolarisServiceInstanceListSupplier.java +++ b/spring-cloud-tencent-polaris-loadbalancer/src/main/java/com/tencent/cloud/polaris/loadbalancer/PolarisServiceInstanceListSupplier.java @@ -78,5 +78,4 @@ public class PolarisServiceInstanceListSupplier extends DelegatingServiceInstanc } return serviceInstances; } - } diff --git a/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/LoadBalancerUtilsTest.java b/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/LoadBalancerUtilsTest.java index 28b62fdd..b4aea4c0 100644 --- a/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/LoadBalancerUtilsTest.java +++ b/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/LoadBalancerUtilsTest.java @@ -43,21 +43,21 @@ import static org.mockito.ArgumentMatchers.anyString; /** * Test for ${@link LoadBalancerUtils}. - *@author lepdou 2022-07-04 + * + * @author lepdou 2022-07-04 */ @RunWith(MockitoJUnitRunner.class) public class LoadBalancerUtilsTest { + private static final String TEST_NAMESPACE_AND_SERVICE = "testNamespaceAndService"; private static MockedStatic mockedApplicationContextAwareUtils; private static MockedStatic mockedMetadataContextHolder; - private static final String testNamespaceAndService = "testNamespaceAndService"; - @BeforeClass public static void beforeClass() { mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) - .thenReturn(testNamespaceAndService); + .thenReturn(TEST_NAMESPACE_AND_SERVICE); MetadataContext metadataContext = Mockito.mock(MetadataContext.class); mockedMetadataContextHolder = Mockito.mockStatic(MetadataContextHolder.class); @@ -83,7 +83,7 @@ public class LoadBalancerUtilsTest { List instances = new ArrayList<>(); for (int i = 0; i < instanceSize; i++) { - instances.add(new DefaultServiceInstance("ins" + i, testNamespaceAndService, "127.0.0." + i, + instances.add(new DefaultServiceInstance("ins" + i, TEST_NAMESPACE_AND_SERVICE, "127.0.0." + i, 8080, false)); } @@ -95,8 +95,8 @@ public class LoadBalancerUtilsTest { List polarisInstances = serviceInstances.getInstances(); for (int i = 0; i < instanceSize; i++) { Instance instance = polarisInstances.get(i); - Assert.assertEquals(testNamespaceAndService, instance.getNamespace()); - Assert.assertEquals(testNamespaceAndService, instance.getService()); + Assert.assertEquals(TEST_NAMESPACE_AND_SERVICE, instance.getNamespace()); + Assert.assertEquals(TEST_NAMESPACE_AND_SERVICE, instance.getService()); Assert.assertEquals("ins" + i, instance.getId()); Assert.assertEquals("127.0.0." + i, instance.getHost()); Assert.assertEquals(8080, instance.getPort()); diff --git a/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/config/PolarisLoadBalancerAutoConfigurationTest.java b/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/config/PolarisLoadBalancerAutoConfigurationTest.java index 535c1230..2e1ec86e 100644 --- a/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/config/PolarisLoadBalancerAutoConfigurationTest.java +++ b/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/config/PolarisLoadBalancerAutoConfigurationTest.java @@ -38,9 +38,12 @@ import static org.assertj.core.api.Assertions.assertThat; public class PolarisLoadBalancerAutoConfigurationTest { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(PolarisRibbonTest.class, - PolarisLoadBalancerAutoConfiguration.class, PolarisContextAutoConfiguration.class)) - .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER).withPropertyValues("server.port=" + PORT) + .withConfiguration(AutoConfigurations.of( + PolarisRibbonTest.class, + PolarisLoadBalancerAutoConfiguration.class, + PolarisContextAutoConfiguration.class)) + .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER) + .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081"); @Test @@ -56,5 +59,4 @@ public class PolarisLoadBalancerAutoConfigurationTest { static class PolarisRibbonTest { } - } diff --git a/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/config/PolarisRouterAutoConfigurationTest.java b/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/config/PolarisRouterAutoConfigurationTest.java index 79414600..606d2cd5 100644 --- a/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/config/PolarisRouterAutoConfigurationTest.java +++ b/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/config/PolarisRouterAutoConfigurationTest.java @@ -37,14 +37,18 @@ import static org.assertj.core.api.Assertions.assertThat; public class PolarisRouterAutoConfigurationTest { private final ApplicationContextRunner blockingContextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(PolarisLoadBalancerTest.class, - PolarisContextAutoConfiguration.class, PolarisLoadBalancerAutoConfiguration.class, + .withConfiguration(AutoConfigurations.of( + PolarisLoadBalancerTest.class, + PolarisContextAutoConfiguration.class, + PolarisLoadBalancerAutoConfiguration.class, PolarisLoadBalancerClientConfiguration.PolarisBlockingSupportConfiguration.class)) .withPropertyValues("spring.cloud.loadbalancer.configurations=polaris"); private final ApplicationContextRunner noPolarisContextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(PolarisLoadBalancerTest.class, - PolarisContextAutoConfiguration.class, PolarisLoadBalancerAutoConfiguration.class, + .withConfiguration(AutoConfigurations.of( + PolarisLoadBalancerTest.class, + PolarisContextAutoConfiguration.class, + PolarisLoadBalancerAutoConfiguration.class, PolarisLoadBalancerClientConfiguration.PolarisBlockingSupportConfiguration.class)); /** diff --git a/src/checkstyle/checkstyle-suppressions.xml b/src/checkstyle/checkstyle-suppressions.xml index ace6b329..452aaa5f 100644 --- a/src/checkstyle/checkstyle-suppressions.xml +++ b/src/checkstyle/checkstyle-suppressions.xml @@ -4,6 +4,5 @@ "https://www.puppycrawl.com/dtds/suppressions_1_1.dtd"> - \ No newline at end of file