Open ccqstark opened 2 years ago
guide 哥我在复习 zookeeper 的时候发现它的 watcher 机制会在触发一次后就删除掉监听器,也就是说现在只能对节点的一次改变进行监听,第二次就不生效了。 目前有两种解决方案:
PathChildrenCacheListener pathChildrenCacheListener = (curatorFramework, pathChildCacheEvent) -> { // List<String> serviceAddresses = curatorFramework.getChildren().forPath(servicePath); // SERVICE_ADDRESS_MAP.put(rpcServiceName, serviceAddresses); // 删除缓存以便下次从 zookeeper 拉取最新数据 SERVICE_ADDRESS_MAP.remove(rpcServiceName); };
CuratorFramework好像可以反复注册监听器
guide 哥我在复习 zookeeper 的时候发现它的 watcher 机制会在触发一次后就删除掉监听器,也就是说现在只能对节点的一次改变进行监听,第二次就不生效了。 目前有两种解决方案: