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 6bd07f2b3..200ac9f73 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 @@ -139,6 +139,7 @@ public class SpringValueProcessor extends PolarisProcessor implements BeanDefini protected void processClass(Object bean, String beanName, Class clazz, boolean isRefreshScope) { ConfigurationProperties configurationProperties = clazz.getAnnotation(ConfigurationProperties.class); if (configurationProperties != null && isRefreshScope) { + // A bean with RefreshScope and ConfigurationProperties can't be refreshed by reflection, because it's proxied by Spring AOP. Related keys needs to be registered parseConfigurationPropertiesKeys(configurationProperties, clazz); } }