From 1aa62777a98d1fb637a2491f4526c28ac0022a52 Mon Sep 17 00:00:00 2001 From: Haotian Zhang <928016560@qq.com> Date: Wed, 7 Sep 2022 20:08:47 +0800 Subject: [PATCH] refactor:optimize project and code. (#570) --- CHANGELOG.md | 1 + .../MetadataTransferAutoConfiguration.java | 2 +- ...MetadataTransferAutoConfigurationTest.java | 2 +- ...larisConfigBootstrapAutoConfiguration.java | 1 + .../adapter/PolarisConfigFileLocator.java | 49 +++++++++++++------ .../PolarisConfigPropertyRefresher.java | 4 +- .../ReflectRefreshTypeCondition.java | 1 - .../polaris/config/enums/RefreshBehavior.java | 1 - .../polaris/config/enums/RefreshType.java | 1 + .../spring/annotation/PolarisProcessor.java | 17 +++++++ .../annotation/SpringValueProcessor.java | 49 +++++++++++++------ .../config/spring/property/SpringValue.java | 27 ++-------- .../SpringValueDefinitionProcessor.java | 25 +++++----- .../spring/property/SpringValueRegistry.java | 10 +--- ...arisPropertiesSourceAutoRefresherTest.java | 2 +- ...yPropertiesBootstrapAutoConfiguration.java | 1 + ...sRefreshApplicationReadyEventListener.java | 1 + .../refresh/PolarisRefreshConfiguration.java | 1 + .../PolarisServiceStatusChangeListener.java | 1 + .../registry/PolarisServiceRegistry.java | 25 +++++----- .../cloud/polaris/util/OkHttpUtil.java | 6 +-- .../ratelimit/constant/RateLimitConstant.java | 5 +- .../PolarisRateLimitRuleEndpoint.java | 2 +- .../filter/QuotaCheckReactiveFilter.java | 8 +-- .../filter/QuotaCheckServletFilter.java | 8 +-- .../ratelimit/utils/QuotaCheckUtils.java | 1 + .../router/RouterRuleLabelResolverTest.java | 1 - .../common/constant/RouterConstants.java | 4 +- .../cloud/polaris/context/ModifyAddress.java | 9 ++-- .../PolarisContextAutoConfiguration.java | 4 +- .../PolarisLoggingApplicationListener.java | 3 +- .../loadbalancer/PolarisLoadBalancerTest.java | 6 +-- .../feign/EnhancedFeignBeanPostProcessor.java | 2 +- 33 files changed, 158 insertions(+), 122 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f1e87aa79..258d409eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,3 +32,4 @@ - [Report the labels in request when report the result of invocation by Feign](https://github.com/Tencent/spring-cloud-tencent/pull/555) - [fix:fix heartbeat interval different configuration from polaris-java SDK.](https://github.com/Tencent/spring-cloud-tencent/pull/558) - [Optimize: optimize report call result for restTemplate.](https://github.com/Tencent/spring-cloud-tencent/pull/564) +- [refactor:optimize project and code.](https://github.com/Tencent/spring-cloud-tencent/pull/570) 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 0c0d03014..65d75c4a1 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 @@ -135,7 +135,7 @@ public class MetadataTransferAutoConfiguration { } @Bean - public SmartInitializingSingleton addEncodeTransferMedataInterceptorForRestTemplate(EncodeTransferMedataRestTemplateInterceptor interceptor) { + public SmartInitializingSingleton addEncodeTransferMetadataInterceptorForRestTemplate(EncodeTransferMedataRestTemplateInterceptor interceptor) { return () -> restTemplates.forEach(restTemplate -> { List list = new ArrayList<>(restTemplate.getInterceptors()); list.add(interceptor); 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 f95036fe4..2ef9a6b12 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 @@ -85,7 +85,7 @@ public class MetadataTransferAutoConfigurationTest { .stream() .filter(interceptor -> Objects.equals(interceptor, encodeTransferMedataRestTemplateInterceptor)) .collect(Collectors.toList()); - //EncodeTransferMedataFeignInterceptor is not added repeatedly + //EncodeTransferMetadataFeignInterceptor is not added repeatedly Assertions.assertThat(encodeTransferMedataFeignInterceptorList.size()).isEqualTo(1); } }); diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigBootstrapAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigBootstrapAutoConfiguration.java index cd186cad4..235afb773 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigBootstrapAutoConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigBootstrapAutoConfiguration.java @@ -15,6 +15,7 @@ * specific language governing permissions and limitations under the License. * */ + package com.tencent.cloud.polaris.config; import com.tencent.cloud.polaris.config.adapter.AffectedConfigurationPropertiesRebinder; 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 7c975f857..7c79e3945 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 @@ -17,6 +17,8 @@ package com.tencent.cloud.polaris.config.adapter; +import java.util.ArrayList; +import java.util.Arrays; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -30,6 +32,7 @@ import com.tencent.polaris.configuration.api.core.ConfigFileMetadata; import com.tencent.polaris.configuration.api.core.ConfigFileService; import com.tencent.polaris.configuration.api.core.ConfigKVFile; import com.tencent.polaris.configuration.client.internal.DefaultConfigFileMetadata; +import org.apache.commons.lang.ArrayUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -119,36 +122,50 @@ public class PolarisConfigFileLocator implements PropertySourceLocator { // priority: application-${profile} > application > boostrap-${profile} > boostrap String[] activeProfiles = environment.getActiveProfiles(); + String[] defaultProfiles = environment.getDefaultProfiles(); + List profileList = new ArrayList<>(); + if (ArrayUtils.isNotEmpty(activeProfiles)) { + profileList.addAll(Arrays.asList(activeProfiles)); + } + else if (ArrayUtils.isNotEmpty(defaultProfiles)) { + profileList.addAll(Arrays.asList(defaultProfiles)); + } + // build application config files + buildInternalApplicationConfigFiles(internalConfigFiles, namespace, serviceName, profileList); + // build bootstrap config files + buildInternalBootstrapConfigFiles(internalConfigFiles, namespace, serviceName, profileList); - for (String activeProfile : activeProfiles) { - if (!StringUtils.hasText(activeProfile)) { + return internalConfigFiles; + } + + private void buildInternalApplicationConfigFiles( + List internalConfigFiles, String namespace, String serviceName, List profileList) { + for (String profile : profileList) { + if (!StringUtils.hasText(profile)) { continue; } - - internalConfigFiles.add(new DefaultConfigFileMetadata(namespace, serviceName, "application-" + activeProfile + ".properties")); - internalConfigFiles.add(new DefaultConfigFileMetadata(namespace, serviceName, "application-" + activeProfile + ".yml")); + internalConfigFiles.add(new DefaultConfigFileMetadata(namespace, serviceName, "application-" + profile + ".properties")); + internalConfigFiles.add(new DefaultConfigFileMetadata(namespace, serviceName, "application-" + profile + ".yml")); } - + // build default config properties files. internalConfigFiles.add(new DefaultConfigFileMetadata(namespace, serviceName, "application.properties")); internalConfigFiles.add(new DefaultConfigFileMetadata(namespace, serviceName, "application.yml")); + } - for (String activeProfile : activeProfiles) { - if (!StringUtils.hasText(activeProfile)) { + private void buildInternalBootstrapConfigFiles( + List internalConfigFiles, String namespace, String serviceName, List profileList) { + for (String profile : profileList) { + if (!StringUtils.hasText(profile)) { continue; } - - internalConfigFiles.add(new DefaultConfigFileMetadata(namespace, serviceName, "bootstrap-" + activeProfile + ".properties")); - internalConfigFiles.add(new DefaultConfigFileMetadata(namespace, serviceName, "bootstrap-" + activeProfile + ".yml")); + internalConfigFiles.add(new DefaultConfigFileMetadata(namespace, serviceName, "bootstrap-" + profile + ".properties")); + internalConfigFiles.add(new DefaultConfigFileMetadata(namespace, serviceName, "bootstrap-" + profile + ".yml")); } - + // build default config properties files. internalConfigFiles.add(new DefaultConfigFileMetadata(namespace, serviceName, "bootstrap.properties")); internalConfigFiles.add(new DefaultConfigFileMetadata(namespace, serviceName, "bootstrap.yml")); - - - return internalConfigFiles; } - private void initCustomPolarisConfigFiles(CompositePropertySource compositePropertySource, List configFileGroups) { String namespace = polarisContextProperties.getNamespace(); diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigPropertyRefresher.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigPropertyRefresher.java index 39351e7b4..4b63c1c75 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigPropertyRefresher.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigPropertyRefresher.java @@ -33,7 +33,9 @@ public interface PolarisConfigPropertyRefresher { * * @param changedKey changedKey */ - void refreshSpringValue(String changedKey); + default void refreshSpringValue(String changedKey) { + // do nothing,all config will be refreshed by contextRefresher.refresh + } /** * refresh @ConfigurationProperties beans. diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/condition/ReflectRefreshTypeCondition.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/condition/ReflectRefreshTypeCondition.java index 9db7d5b49..c5c893c6e 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/condition/ReflectRefreshTypeCondition.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/condition/ReflectRefreshTypeCondition.java @@ -47,7 +47,6 @@ public class ReflectRefreshTypeCondition extends SpringBootCondition { if (refreshType == DEFAULT_REFRESH_TYPE) { return ConditionOutcome.noMatch("no matched"); } - return ConditionOutcome.match("matched"); } } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/enums/RefreshBehavior.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/enums/RefreshBehavior.java index 198c66191..b6e414ed9 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/enums/RefreshBehavior.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/enums/RefreshBehavior.java @@ -16,7 +16,6 @@ * */ - package com.tencent.cloud.polaris.config.enums; import org.springframework.boot.context.properties.ConfigurationPropertiesBean; diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/enums/RefreshType.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/enums/RefreshType.java index 748ef2069..4c9ff21c0 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/enums/RefreshType.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/enums/RefreshType.java @@ -15,6 +15,7 @@ * specific language governing permissions and limitations under the License. * */ + package com.tencent.cloud.polaris.config.enums; /** diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/annotation/PolarisProcessor.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/annotation/PolarisProcessor.java index 6ff8d8ed0..cfbc5385b 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/annotation/PolarisProcessor.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/annotation/PolarisProcessor.java @@ -1,3 +1,20 @@ +/* + * Tencent is pleased to support the open source community by making Spring Cloud Tencent available. + * + * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. + * + * Licensed under the BSD 3-Clause License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://opensource.org/licenses/BSD-3-Clause + * + * Unless required by applicable law or agreed to in writing, software distributed + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package com.tencent.cloud.polaris.config.spring.annotation; import java.lang.reflect.Field; diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessor.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessor.java index 2532f2b9c..0edd584fb 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessor.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessor.java @@ -1,3 +1,20 @@ +/* + * Tencent is pleased to support the open source community by making Spring Cloud Tencent available. + * + * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. + * + * Licensed under the BSD 3-Clause License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://opensource.org/licenses/BSD-3-Clause + * + * Unless required by applicable law or agreed to in writing, software distributed + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package com.tencent.cloud.polaris.config.spring.annotation; import java.beans.PropertyDescriptor; @@ -60,7 +77,7 @@ public class SpringValueProcessor extends PolarisProcessor implements BeanFactor } @Override - public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) + public void postProcessBeanFactory(@NonNull ConfigurableListableBeanFactory beanFactory) throws BeansException { if (polarisConfigProperties.isAutoRefresh() && beanFactory instanceof BeanDefinitionRegistry) { beanName2SpringValueDefinitions = SpringValueDefinitionProcessor @@ -120,11 +137,11 @@ public class SpringValueProcessor extends PolarisProcessor implements BeanFactor SpringValue springValue; if (member instanceof Field) { Field field = (Field) member; - springValue = new SpringValue(key, value.value(), bean, beanName, field, false); + springValue = new SpringValue(key, value.value(), bean, beanName, field); } else if (member instanceof Method) { Method method = (Method) member; - springValue = new SpringValue(key, value.value(), bean, beanName, method, false); + springValue = new SpringValue(key, value.value(), bean, beanName, method); } else { LOGGER.error("Polaris @Value annotation currently only support to be used on methods and fields, " @@ -137,24 +154,24 @@ public class SpringValueProcessor extends PolarisProcessor implements BeanFactor } private void processBeanPropertyValues(Object bean, String beanName) { - Collection propertySpringValues = beanName2SpringValueDefinitions - .get(beanName); - if (propertySpringValues == null || propertySpringValues.isEmpty()) { + Collection propertySpringValues = beanName2SpringValueDefinitions.get(beanName); + if (propertySpringValues.isEmpty()) { return; } for (SpringValueDefinition definition : propertySpringValues) { try { - PropertyDescriptor pd = BeanUtils - .getPropertyDescriptor(bean.getClass(), definition.getPropertyName()); - Method method = pd.getWriteMethod(); - if (method == null) { - continue; + PropertyDescriptor pd = BeanUtils.getPropertyDescriptor(bean.getClass(), definition.getPropertyName()); + if (pd != null) { + Method method = pd.getWriteMethod(); + if (method == null) { + continue; + } + SpringValue springValue = new SpringValue(definition.getKey(), definition.getPlaceholder(), + bean, beanName, method); + springValueRegistry.register(beanFactory, definition.getKey(), springValue); + LOGGER.debug("Monitoring {}", springValue); } - SpringValue springValue = new SpringValue(definition.getKey(), definition.getPlaceholder(), - bean, beanName, method, false); - springValueRegistry.register(beanFactory, definition.getKey(), springValue); - LOGGER.debug("Monitoring {}", springValue); } catch (Throwable ex) { LOGGER.error("Failed to enable auto update feature for {}.{}", bean.getClass(), @@ -167,7 +184,7 @@ public class SpringValueProcessor extends PolarisProcessor implements BeanFactor } @Override - public void setBeanFactory(BeanFactory beanFactory) throws BeansException { + public void setBeanFactory(@NonNull BeanFactory beanFactory) throws BeansException { this.beanFactory = beanFactory; } } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/property/SpringValue.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/property/SpringValue.java index ea602a925..06556d929 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/property/SpringValue.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/property/SpringValue.java @@ -21,7 +21,6 @@ import java.lang.ref.WeakReference; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.lang.reflect.Type; import org.springframework.core.MethodParameter; @@ -37,30 +36,24 @@ import org.springframework.core.MethodParameter; */ public class SpringValue { - private MethodParameter methodParameter; - private Field field; private final WeakReference beanRef; private final String beanName; private final String key; private final String placeholder; private final Class targetType; - private Type genericType; - private final boolean isJson; + private MethodParameter methodParameter; + private Field field; - public SpringValue(String key, String placeholder, Object bean, String beanName, Field field, boolean isJson) { + public SpringValue(String key, String placeholder, Object bean, String beanName, Field field) { this.beanRef = new WeakReference<>(bean); this.beanName = beanName; this.field = field; this.key = key; this.placeholder = placeholder; this.targetType = field.getType(); - this.isJson = isJson; - if (isJson) { - this.genericType = field.getGenericType(); - } } - public SpringValue(String key, String placeholder, Object bean, String beanName, Method method, boolean isJson) { + public SpringValue(String key, String placeholder, Object bean, String beanName, Method method) { this.beanRef = new WeakReference<>(bean); this.beanName = beanName; this.methodParameter = new MethodParameter(method, 0); @@ -68,10 +61,6 @@ public class SpringValue { this.placeholder = placeholder; Class[] paramTps = method.getParameterTypes(); this.targetType = paramTps[0]; - this.isJson = isJson; - if (isJson) { - this.genericType = method.getGenericParameterTypes()[0]; - } } public void update(Object newVal) throws IllegalAccessException, InvocationTargetException { @@ -127,14 +116,6 @@ public class SpringValue { return field; } - public Type getGenericType() { - return genericType; - } - - public boolean isJson() { - return isJson; - } - boolean isTargetBeanValid() { return beanRef.get() != null; } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/property/SpringValueDefinitionProcessor.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/property/SpringValueDefinitionProcessor.java index 56ed62391..9064667c0 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/property/SpringValueDefinitionProcessor.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/property/SpringValueDefinitionProcessor.java @@ -35,6 +35,7 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.config.TypedStringValue; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor; +import org.springframework.lang.NonNull; /** * To process xml config placeholders, e.g. @@ -59,34 +60,34 @@ public class SpringValueDefinitionProcessor implements BeanDefinitionRegistryPos private final PlaceholderHelper placeholderHelper; - private PolarisConfigProperties polarisConfigProperties; + private final PolarisConfigProperties polarisConfigProperties; public SpringValueDefinitionProcessor(PlaceholderHelper placeholderHelper, PolarisConfigProperties polarisConfigProperties) { this.polarisConfigProperties = polarisConfigProperties; this.placeholderHelper = placeholderHelper; } + public static Multimap getBeanName2SpringValueDefinitions(BeanDefinitionRegistry registry) { + Multimap springValueDefinitions = beanName2SpringValueDefinitions.get(registry); + if (springValueDefinitions == null) { + springValueDefinitions = LinkedListMultimap.create(); + } + + return springValueDefinitions; + } + @Override - public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { + public void postProcessBeanDefinitionRegistry(@NonNull BeanDefinitionRegistry registry) throws BeansException { if (polarisConfigProperties.isAutoRefresh()) { processPropertyValues(registry); } } @Override - public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + public void postProcessBeanFactory(@NonNull ConfigurableListableBeanFactory beanFactory) throws BeansException { } - public static Multimap getBeanName2SpringValueDefinitions(BeanDefinitionRegistry registry) { - Multimap springValueDefinitions = beanName2SpringValueDefinitions.get(registry); - if (springValueDefinitions == null) { - springValueDefinitions = LinkedListMultimap.create(); - } - - return springValueDefinitions; - } - private void processPropertyValues(BeanDefinitionRegistry beanRegistry) { if (!PROPERTY_VALUES_PROCESSED_BEAN_FACTORIES.add(beanRegistry)) { // already initialized diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/property/SpringValueRegistry.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/property/SpringValueRegistry.java index 9155c923c..78ed172f5 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/property/SpringValueRegistry.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/spring/property/SpringValueRegistry.java @@ -94,14 +94,8 @@ public class SpringValueRegistry { Iterator> iterator = registry.values().iterator(); while (!Thread.currentThread().isInterrupted() && iterator.hasNext()) { Multimap springValues = iterator.next(); - Iterator> springValueIterator = springValues.entries().iterator(); - while (springValueIterator.hasNext()) { - Map.Entry springValue = springValueIterator.next(); - if (!springValue.getValue().isTargetBeanValid()) { - // clear unused spring values - springValueIterator.remove(); - } - } + // clear unused spring values + springValues.entries().removeIf(springValue -> !springValue.getValue().isTargetBeanValid()); } } } 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 6df40aee6..912a12acd 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 @@ -83,7 +83,7 @@ public class PolarisPropertiesSourceAutoRefresherTest { MockedConfigChange mockedConfigChange = new MockedConfigChange(); mockedConfigChange.setK1("v1"); Field field = mockedConfigChange.getClass().getDeclaredField("k1"); - SpringValue springValue = new SpringValue("v1", "placeholder", mockedConfigChange, "mockedConfigChange", field, false); + SpringValue springValue = new SpringValue("v1", "placeholder", mockedConfigChange, "mockedConfigChange", field); springValues.add(springValue); diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/DiscoveryPropertiesBootstrapAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/DiscoveryPropertiesBootstrapAutoConfiguration.java index f04663c1d..e441aff2e 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/DiscoveryPropertiesBootstrapAutoConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/DiscoveryPropertiesBootstrapAutoConfiguration.java @@ -15,6 +15,7 @@ * specific language governing permissions and limitations under the License. * */ + package com.tencent.cloud.polaris; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; 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 2acec7ecf..22fa821aa 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 @@ -14,6 +14,7 @@ * CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ + package com.tencent.cloud.polaris.discovery.refresh; import java.util.concurrent.Executors; diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/refresh/PolarisRefreshConfiguration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/refresh/PolarisRefreshConfiguration.java index acbe54b7a..c0523fa51 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/refresh/PolarisRefreshConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/refresh/PolarisRefreshConfiguration.java @@ -14,6 +14,7 @@ * CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ + package com.tencent.cloud.polaris.discovery.refresh; import com.tencent.cloud.polaris.context.ConditionalOnPolarisEnabled; 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 e64bb6b56..68852aacd 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 @@ -14,6 +14,7 @@ * CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ + package com.tencent.cloud.polaris.discovery.refresh; import java.util.Set; 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 aad9ff412..5a78e913b 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 @@ -51,7 +51,7 @@ import static org.springframework.util.ReflectionUtils.rethrowRuntimeException; */ public class PolarisServiceRegistry implements ServiceRegistry { - private static final Logger log = LoggerFactory.getLogger(PolarisServiceRegistry.class); + private static final Logger LOGGER = LoggerFactory.getLogger(PolarisServiceRegistry.class); private final PolarisDiscoveryProperties polarisDiscoveryProperties; @@ -81,7 +81,7 @@ public class PolarisServiceRegistry implements ServiceRegistry { public void register(Registration registration) { if (StringUtils.isBlank(registration.getServiceId())) { - log.warn("No service to register for polaris client..."); + LOGGER.warn("No service to register for polaris client..."); return; } // Register instance. @@ -104,7 +104,7 @@ public class PolarisServiceRegistry implements ServiceRegistry { try { ProviderAPI providerClient = polarisDiscoveryHandler.getProviderAPI(); providerClient.register(instanceRegisterRequest); - log.info("polaris registry, {} {} {}:{} {} register finished", polarisDiscoveryProperties.getNamespace(), + LOGGER.info("polaris registry, {} {} {}:{} {} register finished", polarisDiscoveryProperties.getNamespace(), registration.getServiceId(), registration.getHost(), registration.getPort(), staticMetadataManager.getMergedStaticMetadata()); @@ -116,18 +116,17 @@ public class PolarisServiceRegistry implements ServiceRegistry { } } catch (Exception e) { - log.error("polaris registry, {} register failed...{},", registration.getServiceId(), registration, e); + LOGGER.error("polaris registry, {} register failed...{},", registration.getServiceId(), registration, e); rethrowRuntimeException(e); } } @Override public void deregister(Registration registration) { - - log.info("De-registering from Polaris Server now..."); + LOGGER.info("De-registering from Polaris Server now..."); if (StringUtils.isEmpty(registration.getServiceId())) { - log.warn("No dom to de-register for polaris client..."); + LOGGER.warn("No dom to de-register for polaris client..."); return; } @@ -143,14 +142,14 @@ public class PolarisServiceRegistry implements ServiceRegistry { providerClient.deRegister(deRegisterRequest); } catch (Exception e) { - log.error("ERR_POLARIS_DEREGISTER, de-register failed...{},", registration, e); + LOGGER.error("ERR_POLARIS_DEREGISTER, de-register failed...{},", registration, e); } finally { if (null != heartbeatExecutor) { heartbeatExecutor.shutdown(); } } - log.info("De-registration finished."); + LOGGER.info("De-registration finished."); } @Override @@ -202,20 +201,20 @@ public class PolarisServiceRegistry implements ServiceRegistry { heartbeatRequest.getPort(), healthCheckEndpoint); if (!OkHttpUtil.get(healthCheckUrl, null)) { - log.error("backend service health check failed. health check endpoint = {}", + LOGGER.error("backend service health check failed. health check endpoint = {}", healthCheckEndpoint); return; } } polarisDiscoveryHandler.getProviderAPI().heartbeat(heartbeatRequest); - log.trace("Polaris heartbeat is sent"); + LOGGER.trace("Polaris heartbeat is sent"); } catch (PolarisException e) { - log.error("polaris heartbeat error with code [{}]", e.getCode(), e); + LOGGER.error("polaris heartbeat error with code [{}]", e.getCode(), e); } catch (Exception e) { - log.error("polaris heartbeat runtime error", e); + LOGGER.error("polaris heartbeat runtime error", e); } }, polarisDiscoveryProperties.getHeartbeatInterval(), polarisDiscoveryProperties.getHeartbeatInterval(), SECONDS); } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/util/OkHttpUtil.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/util/OkHttpUtil.java index 68b9e335d..df9db0be5 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/util/OkHttpUtil.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/util/OkHttpUtil.java @@ -36,7 +36,7 @@ public final class OkHttpUtil { /** * Logger. */ - public final static Logger logger = LoggerFactory.getLogger(OkHttpUtil.class); + public final static Logger LOGGER = LoggerFactory.getLogger(OkHttpUtil.class); /** * client. @@ -62,12 +62,12 @@ public final class OkHttpUtil { if (response.isSuccessful() && Objects.nonNull(response.body())) { String result = response.body().string(); - logger.debug("exec get request, url: {} success,response data: {}", url, result); + LOGGER.debug("exec get request, url: {} success,response data: {}", url, result); return true; } } catch (Exception e) { - logger.error("exec get request,url: {} failed!", url, e); + LOGGER.error("exec get request,url: {} failed!", url, e); } return false; } 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 814bed565..cdbf527a8 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 @@ -31,17 +31,18 @@ public final class RateLimitConstant { * Order of filter. */ public static final int FILTER_ORDER = Ordered.HIGHEST_PRECEDENCE + 10; - /** * Info of rate limit. */ public static String QUOTA_LIMITED_INFO = "The request is denied by rate limit because the throttling threshold is reached"; - /** * The build in label method. */ public static String LABEL_METHOD = "method"; + /** + * Default Private Constructor. + */ 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 d41ebce88..f5a442e3f 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 @@ -76,7 +76,7 @@ public class PolarisRateLimitRuleEndpoint { } for (RateLimitProto.Rule rule : rateLimit.getRulesList()) { - String ruleJson = ""; + String ruleJson; try { ruleJson = JsonFormat.printer().print(rule); } 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 cb95857ba..8a1162ee6 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 @@ -60,7 +60,7 @@ import static com.tencent.cloud.polaris.ratelimit.constant.RateLimitConstant.LAB */ public class QuotaCheckReactiveFilter implements WebFilter, Ordered { - private static final Logger LOG = LoggerFactory.getLogger(QuotaCheckReactiveFilter.class); + private static final Logger LOGGER = LoggerFactory.getLogger(QuotaCheckReactiveFilter.class); private final LimitAPI limitAPI; @@ -114,14 +114,14 @@ public class QuotaCheckReactiveFilter implements WebFilter, Ordered { } // Unirate if (quotaResponse.getCode() == QuotaResultCode.QuotaResultOk && quotaResponse.getWaitMs() > 0) { - LOG.debug("The request of [{}] will waiting for {}ms.", path, quotaResponse.getWaitMs()); + LOGGER.debug("The request of [{}] will waiting for {}ms.", path, quotaResponse.getWaitMs()); return Mono.delay(Duration.ofMillis(quotaResponse.getWaitMs())).flatMap(e -> chain.filter(exchange)); } } catch (Throwable t) { // An exception occurs in the rate limiting API call, // which should not affect the call of the business process. - LOG.error("fail to invoke getQuota, service is " + localService, t); + LOGGER.error("fail to invoke getQuota, service is " + localService, t); } return chain.filter(exchange); @@ -153,7 +153,7 @@ public class QuotaCheckReactiveFilter implements WebFilter, Ordered { return labelResolver.resolve(exchange); } catch (Throwable e) { - LOG.error("resolve custom label failed. resolver = {}", labelResolver.getClass().getName(), e); + LOGGER.error("resolve custom label failed. resolver = {}", labelResolver.getClass().getName(), e); } } return Maps.newHashMap(); 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 82c3d7915..c75ed1e05 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 @@ -46,6 +46,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.annotation.Order; +import org.springframework.lang.NonNull; import org.springframework.web.filter.OncePerRequestFilter; import static com.tencent.cloud.polaris.ratelimit.constant.RateLimitConstant.LABEL_METHOD; @@ -58,13 +59,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 . */ 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; @@ -91,7 +90,8 @@ public class QuotaCheckServletFilter extends OncePerRequestFilter { } @Override - protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) + protected void doFilterInternal(@NonNull HttpServletRequest request, @NonNull HttpServletResponse response, + @NonNull FilterChain filterChain) throws ServletException, IOException { String localNamespace = MetadataContext.LOCAL_NAMESPACE; String localService = MetadataContext.LOCAL_SERVICE; 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 ff08fe34d..faac3490d 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 @@ -14,6 +14,7 @@ * CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ + package com.tencent.cloud.polaris.ratelimit.utils; import java.util.Map; diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/RouterRuleLabelResolverTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/RouterRuleLabelResolverTest.java index e16785c5c..3ae3261f7 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/RouterRuleLabelResolverTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/RouterRuleLabelResolverTest.java @@ -18,7 +18,6 @@ package com.tencent.cloud.polaris.router; - import java.util.HashMap; import java.util.LinkedList; import java.util.List; diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/RouterConstants.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/RouterConstants.java index 5f9567f80..55eee75e3 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/RouterConstants.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/RouterConstants.java @@ -30,7 +30,9 @@ public final class RouterConstants { */ public static final String ROUTER_LABEL_HEADER = "internal-router-label"; - + /** + * Default Private Constructor. + */ private RouterConstants() { } } 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 a7a1e551c..1e79f751e 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 @@ -26,8 +26,6 @@ import com.tencent.cloud.polaris.context.config.PolarisContextProperties; import com.tencent.polaris.factory.config.ConfigurationImpl; import org.apache.commons.lang.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; - /** * Modify polaris server address. * @@ -35,8 +33,11 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class ModifyAddress implements PolarisConfigModifier { - @Autowired - private PolarisContextProperties properties; + private final PolarisContextProperties properties; + + public ModifyAddress(PolarisContextProperties properties) { + this.properties = properties; + } @Override public void modify(ConfigurationImpl configuration) { 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 97722fb0e..eab0ad5e6 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 @@ -63,8 +63,8 @@ public class PolarisContextAutoConfiguration { @Bean @ConditionalOnMissingBean - public ModifyAddress polarisConfigModifier() { - return new ModifyAddress(); + public ModifyAddress polarisConfigModifier(PolarisContextProperties properties) { + return new ModifyAddress(properties); } @Bean diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/logging/PolarisLoggingApplicationListener.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/logging/PolarisLoggingApplicationListener.java index 52f1948a0..a75087ec7 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/logging/PolarisLoggingApplicationListener.java +++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/logging/PolarisLoggingApplicationListener.java @@ -24,6 +24,7 @@ import org.springframework.boot.context.logging.LoggingApplicationListener; import org.springframework.context.ApplicationEvent; import org.springframework.context.event.GenericApplicationListener; import org.springframework.core.ResolvableType; +import org.springframework.lang.NonNull; /** * Reload of Polaris logging configuration. @@ -50,7 +51,7 @@ public class PolarisLoggingApplicationListener implements GenericApplicationList } @Override - public void onApplicationEvent(ApplicationEvent applicationEvent) { + public void onApplicationEvent(@NonNull ApplicationEvent applicationEvent) { PolarisLogging.getInstance().loadConfiguration(); } } diff --git a/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerTest.java b/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerTest.java index b5cdabb60..de8cadca8 100644 --- a/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerTest.java +++ b/spring-cloud-tencent-polaris-loadbalancer/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerTest.java @@ -52,7 +52,6 @@ import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; - /** * Test for {@link PolarisLoadBalancer}. * @@ -61,6 +60,8 @@ import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class PolarisLoadBalancerTest { + private static MockedStatic mockedApplicationContextAwareUtils; + private static Instance testInstance; @Mock private RouterAPI routerAPI; @Mock @@ -68,9 +69,6 @@ public class PolarisLoadBalancerTest { @Mock private PolarisLoadBalancerProperties loadBalancerProperties; - private static MockedStatic mockedApplicationContextAwareUtils; - private static Instance testInstance; - @BeforeClass public static void beforeClass() { mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignBeanPostProcessor.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignBeanPostProcessor.java index b529550cc..9014e2cfe 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignBeanPostProcessor.java +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignBeanPostProcessor.java @@ -37,7 +37,7 @@ import org.springframework.lang.NonNull; */ public class EnhancedFeignBeanPostProcessor implements BeanPostProcessor, BeanFactoryAware { - private EnhancedFeignPluginRunner pluginRunner; + private final EnhancedFeignPluginRunner pluginRunner; private BeanFactory factory;