From 58beaf7d2ab693bb7a23b785eb8e6195a47730b9 Mon Sep 17 00:00:00 2001 From: Haotian Zhang <928016560@qq.com> Date: Mon, 22 Apr 2024 16:24:01 +0800 Subject: [PATCH] fix:fix NullPointerException when properties contain kv with null value. --- CHANGELOG.md | 1 + pom.xml | 2 +- .../config/listener/PolarisConfigListenerContext.java | 8 ++++++++ spring-cloud-tencent-dependencies/pom.xml | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c1e87ec4..bbadc927a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,3 +24,4 @@ - [fix:fix reporter wrong initialization when using config data.](https://github.com/Tencent/spring-cloud-tencent/pull/1221) - [fix:fix swagger not working bug.](https://github.com/Tencent/spring-cloud-tencent/pull/1224) - fix:fix restTemplateCustomizer bean conflict causing service to fail to start properly. +- fix:fix NullPointerException when properties contain kv with null value. diff --git a/pom.xml b/pom.xml index 4e7950e21..c89d0a809 100644 --- a/pom.xml +++ b/pom.xml @@ -89,7 +89,7 @@ - 1.13.1-2021.0.9 + 1.13.2-2021.0.9 5.3.31 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 00f1ecb85..120ef7c73 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 @@ -116,6 +116,11 @@ public final class PolarisConfigListenerContext { * @param ret origin properties map */ static void initialize(Map ret) { + for (Map.Entry entry : ret.entrySet()) { + if (entry.getValue() == null) { + ret.put(entry.getKey(), ""); + } + } properties.putAll(ret); } @@ -142,6 +147,9 @@ public final class PolarisConfigListenerContext { ret.keySet().parallelStream().forEach(key -> { Object oldValue = properties.getIfPresent(key); Object newValue = ret.get(key); + if (newValue == null) { + newValue = ""; + } if (oldValue != null) { if (!newValue.equals(oldValue)) { properties.put(key, newValue); diff --git a/spring-cloud-tencent-dependencies/pom.xml b/spring-cloud-tencent-dependencies/pom.xml index 12790fdea..5f9af2cca 100644 --- a/spring-cloud-tencent-dependencies/pom.xml +++ b/spring-cloud-tencent-dependencies/pom.xml @@ -70,7 +70,7 @@ - 1.13.1-2021.0.9 + 1.13.2-2021.0.9 1.15.0