Zookeeper原生支持通过注册Watcher来进行事件监听,但是每次在使用完后都是需要重新进行注册,十分繁琐不方便开发者使用,curator引入了Cache实现了对Zookeeper服务端事件的鉴定,Cache对Zookeeper的 事件监听的包装,能够自动实现为开发人员处理反复注册监听,从而简化了原生API开发的繁琐过程,Cache分为两分两类监听类型:节点监听和子节点监听。下面我们就看下分别如何实现监听。
1、NodeCache用于监听节点本身的变化,下面使用NodeCache对节点自身变化监听实现
static String connectString = "localhost:xxxx";
// 创建zk连接
static CuratorFramework client = CuratorFrameworkFactory.builder()
.connectString(connectString)
.connectionTimeoutMs(5000)
.retryPolicy(new ExponentialBackoffRetry(1000, 3))
.sessionTimeoutMs(5000)
.build();
public static void main(String[] args) throws Exception {
client.start();
client.create().creatingParentsIfNeeded()
.withMode(CreateMode.EPHEMERAL)
.forPath("/zookper/zk", "kk".getBytes()); // 创建临时节点
final NodeCache nodeCache = new NodeCache(client, "/zookper/zk",false);
nodeCache.start(true);
nodeCache.getListenable().addListener(new NodeCacheList

最低0.47元/天 解锁文章
172万+

被折叠的 条评论
为什么被折叠?



