From 7dcc9a0d33ac9679f0c4120708f2d9d9721b25a0 Mon Sep 17 00:00:00 2001 From: Fishtail <49390359+fuyuwei01@users.noreply.github.com> Date: Fri, 4 Jul 2025 16:33:40 +0800 Subject: [PATCH] fix:fix PolarisContextProperties instantiated twice causing NPE. (#1642) Co-authored-by: Haotian Zhang --- CHANGELOG.md | 1 + .../context/config/PolarisContextAutoConfiguration.java | 8 +++++++- .../polaris/context/config/PolarisContextProperties.java | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47c605f0f..c8eb67006 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,3 +27,4 @@ - fix:fix tsf lossless not working bug. - fix:fix RestTemplate trace attribute loss bug. - fix:fix polaris_namespace is null when using TSF. +- [fix:fix PolarisContextProperties instantiated twice causing NPE.](https://github.com/Tencent/spring-cloud-tencent/pull/1642) 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 5a9e63031..9c8bd38ae 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 @@ -46,9 +46,15 @@ import org.springframework.core.env.Environment; * @author Haotian Zhang */ @ConditionalOnPolarisEnabled -@EnableConfigurationProperties({PolarisContextProperties.class}) +@EnableConfigurationProperties public class PolarisContextAutoConfiguration { + @Bean + @ConditionalOnMissingBean + public PolarisContextProperties polarisContextProperties() { + return new PolarisContextProperties(); + } + @Bean(initMethod = "init") @ConditionalOnMissingBean public PolarisSDKContextManager polarisSDKContextManager(PolarisContextProperties properties, Environment environment, List modifierList) throws PolarisException { diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextProperties.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextProperties.java index 84db65234..25f5a891a 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextProperties.java +++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/config/PolarisContextProperties.java @@ -68,7 +68,7 @@ public class PolarisContextProperties { /** * current server local port. */ - @Value("${spring.cloud.polaris.localPort:}") + @Value("${spring.cloud.polaris.localPort:0}") private Integer localPort; /**