private void watcherData0(final String registerPath) {
        String configNamespace = Constants.PATH_SEPARATOR + shenyuConfig.getNamespace();
        etcdClient.watchChildChange(
                registerPath,
            (updatePath, updateValue) -> super.event(configNamespace, updatePath, updateValue, registerPath, EventType.PUT),
            deletePath -> super.event(configNamespace, deletePath, null, registerPath, EventType.DELETE));
        try {
            // load all key
            final List<String> childrenKeys = etcdClient.getChildrenKeys(registerPath, "/");
            if (!ObjectUtils.isEmpty(childrenKeys)) {
                childrenKeys.forEach(nodePath -> {
                    // fix the update path
                    String updatePath = String.join(Constants.PATH_SEPARATOR, registerPath, nodePath);
                    final String nodeData = etcdClient.get(updatePath);
                    super.event(configNamespace, updatePath, nodeData, registerPath, EventType.PUT);
                });
            } else {
                LOG.info("etcd watcher path {} is empty", registerPath);
            }
        } catch (Exception e) {
            LOG.error("watcherData0 errors", e);
        }
    }
Instantiates a new Zookeeper cache manager.

@param shenyuConfig          shenyuConfig
@param etcdClient           etcdClient
@param pluginDataSubscriber the plugin data subscriber
@param metaDataSubscribers  the meta data subscribers
@param authDataSubscribers  the auth data subscribers
shenyu-sync-data-center/shenyu-sync-data-etcd/src/main/java/org/apache/shenyu/sync/data/etcd/EtcdSyncDataService.java