code: public void updateConfigAll(AbstractInterfaceConfig config, String overridePath, List<ChildData> currentData)
          throws UnsupportedEncodingException {
          if (CommonUtils.isEmpty(currentData)) {
              if (LOGGER.isInfoEnabled(config.getAppName())) {
                  LOGGER.infoWithApp(config.getAppName(), "Receive updateAll data is null");
              }
          } else {
              if (LOGGER.isInfoEnabled(config.getAppName())) {
                  for (ChildData data : currentData) {
                      LOGGER.infoWithApp(config.getAppName(),
                          "Receive updateAll data: path=[" + data.getPath() + "], data=[" +
                              StringSerializer.decode(data.getData()) + "]" + ", stat=[" + data.getStat() + "]");
                  }
              }
              List<ConfigListener> configListeners = configListenerMap.get(config);
              if (CommonUtils.isNotEmpty(configListeners)) {
                  List<Map<String, String>> attributes = ZookeeperRegistryHelper.convertOverrideToAttributes(
                      config, overridePath, currentData);
                  for (ConfigListener listener : configListeners) {
                      for (Map<String, String> attribute : attributes) {
                          listener.attrUpdated(attribute);
                      }
                  }
              }
          }
      }
docs: 接口配置修改子节点Data列表
  
  @param config       接口配置
  @param overridePath 覆盖Path
  @param currentData  子节点Data列表
  @throws UnsupportedEncodingException 转换配置异常