From 34a4922d2401fb60e8f4c9f1c0459a79ff49a20a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BB=B6?= <1060026287@qq.com> Date: Sun, 11 Jul 2021 21:26:41 +0800 Subject: [PATCH] for compatible nacos server lower version, we should check the response from nacos server is null. (#8229) --- .../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 a801e4ec1f9..5356b9da8b9 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 @@ -260,7 +260,9 @@ public SortedSet getConfigKeys(String group) { 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); @@ -284,7 +286,13 @@ public boolean removeConfig(String key, String group) { 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"));