From 01874fc4e5fb39c8cc9040368b298cd80a4208b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BB=B6?= <1060026287@qq.com> Date: Fri, 9 Jul 2021 12:08:50 +0800 Subject: [PATCH] don't trust the response from nacos server. (#8230) --- .../support/nacos/NacosDynamicConfiguration.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/dubbo-configcenter/dubbo-configcenter-nacos/src/main/java/org/apache/dubbo/configcenter/support/nacos/NacosDynamicConfiguration.java b/dubbo-configcenter/dubbo-configcenter-nacos/src/main/java/org/apache/dubbo/configcenter/support/nacos/NacosDynamicConfiguration.java index 80a1858154..4c2e4eaec3 100644 --- a/dubbo-configcenter/dubbo-configcenter-nacos/src/main/java/org/apache/dubbo/configcenter/support/nacos/NacosDynamicConfiguration.java +++ b/dubbo-configcenter/dubbo-configcenter-nacos/src/main/java/org/apache/dubbo/configcenter/support/nacos/NacosDynamicConfiguration.java @@ -284,7 +284,9 @@ public class NacosDynamicConfiguration implements DynamicConfiguration { HttpRestResult result = httpAgent.httpGet(GET_CONFIG_KEYS_PATH, emptyMap(), paramsValues, encoding, 5 * 1000); Stream keysStream = toKeysStream(result.getData()); - keysStream.forEach(keys::add); + if (keysStream != null) { + keysStream.forEach(keys::add); + } } catch (Exception e) { if (logger.isErrorEnabled()) { logger.error(e.getMessage(), e); @@ -309,7 +311,13 @@ public class NacosDynamicConfiguration implements DynamicConfiguration { private Stream toKeysStream(String content) { JSONObject jsonObject = JSON.parseObject(content); + if (jsonObject == null) { + return null; + } JSONArray pageItems = jsonObject.getJSONArray("pageItems"); + if (pageItems == null) { + return null; + } return pageItems.stream() .map(object -> (JSONObject) object) .map(json -> json.getString("dataId"));