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; /**