private void watcherData0(final String registerPath) {
        String configNamespace = Constants.PATH_SEPARATOR + shenyuConfig.getNamespace();
        zkClient.addCache(registerPath, (curatorFramework, treeCacheEvent) -> {
            ChildData childData = treeCacheEvent.getData();
            if (Objects.isNull(childData)) {
                return;
            }
            String path = childData.getPath();
            if (Strings.isNullOrEmpty(path)) {
                return;
            }
            // if not uri register path, return.
            if (!path.contains(registerPath)) {
                return;
            }
            if (!StringUtils.containsIgnoreCase(path, configNamespace)) {
                return;
            }

            EventType eventType = treeCacheEvent.getType().equals(TreeCacheEvent.Type.NODE_REMOVED) ? EventType.DELETE : EventType.PUT;
            final String updateData = Objects.nonNull(childData.getData()) ? new String(childData.getData(), StandardCharsets.UTF_8) : null;
            this.event(configNamespace, path, updateData, registerPath, eventType);
        });
    }
Instantiates a new Zookeeper cache manager.

@param shenyuConfig         the shenyu config
@param zkClient             the zk client
@param pluginDataSubscriber the plugin data subscriber
@param metaDataSubscribers  the meta data subscribers
@param authDataSubscribers  the auth data subscribers
@param proxySelectorDataSubscribers the proxy selector data subscribers
@param discoveryUpstreamDataSubscribers the discovery upstream data subscribers
shenyu-sync-data-center/shenyu-sync-data-zookeeper/src/main/java/org/apache/shenyu/sync/data/zookeeper/ZookeeperSyncDataService.java