Zookeeper客户端Curator5.2.0节点事件监听CuratorCache用法

 Curator提供了三种Watcher:

(1)NodeCache:监听指定的节点。

(2)PathChildrenCache:监听指定节点的子节点。

(3)TreeCache:监听指定节点和子节点及其子孙节点。

// 根节点
private static final String rootPath = "/root";
// 子节点
private static final String dataPath = "/root/data";
// 孙子节点
private static final String nodePath = "/root/data/stock";

 

1、NodeCache:监听指定的节点

该节点监听的是/root/data/stock,库存操作的是/root/data/stock这个子节点,可以看到监听成功。

NodeCache nodeCache = new NodeCache(curatorFrameworkClient, nodePath);

nodeCache.getListenable().addListener(new MyNodeCacheListener());

nodeCache.start();

 2、PathChildrenCache:监听指定节点的子节点

该节点监听的是/root/data,库存操作的是/root/data/stock这个子节点,可以看到监听成功。

PathChildrenCache pathChildrenCache = new PathChildrenCache(curatorFrameworkClient, dataPath,true);
pathChildrenCache.getListenable().addListener(new MyPathChildrenCacheListener());
pathChildrenCache.start(PathChildrenCache.StartMode.BUILD_INITIAL_CACHE);

 3、TreeCache:监听指定节点和子节点及其子孙节点

监听的是root节点,库存操作的是/root/data/stock这个子节点,可以看到监听成功

TreeCache treeCache = new TreeCache(curatorFrameworkClient, rootPath);
treeCache.getListenable().addListener(new MyTreeCacheListener());
treeCache.start();

 4、很遗憾上面的三种监听方式都过时了,取而代之的是CuratorCacheListener

 该监听方式直接替换了上面的三种过时的监听方式。

CuratorCache curatorCache = CuratorCache.build(curatorFrameworkClient, dataPath);
CuratorCacheListener listener = CuratorCacheListener
		// 1、监听指定的节点
		// .builder().forNodeCache(new MyNodeCacheListener())
		// 2、监听指定节点及其子节点的数据变化
		.builder().forPathChildrenCache(dataPath, curatorFrameworkClient, new MyPathChildrenCacheListener())
		// 3、监听指定节点及其子节点孙子节点的数据变化
		// .builder().forTreeCache(curatorFrameworkClient, new MyTreeCacheListener())
		.build();
curatorCache.listenable().addListener(listener);
curatorCache.start();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值