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"));