@Test//只监听当前节点
public void testNodeCache() throws Exception {
NodeCache nodeCache = new NodeCache(client,"/app1");
nodeCache.getListenable().addListener(new NodeCacheListener() {
@Override
public void nodeChanged() throws Exception {
System.out.println("节点变化了......");
}
});
nodeCache.start(true);
while (true){
}
}
@Test//只监听子节点,本身不监听
public void testPathChildrenCache() throws Exception {
PathChildrenCache pathChildrenCache = new PathChildrenCache(client,"/",true);
pathChildrenCache.getListenable().addListener(new PathChildrenCacheListener() {
@Override
public void childEvent(Curatorframework curatorframework, PathChildrenCacheEvent pathChildrenCacheEvent) throws Exception {
System.out.println("字节的变化了....");
PathChildrenCacheEvent.Type type = pathChildrenCacheEvent.getType();
if(type.equals(PathChildrenCacheEvent.Type.CHILD_UPDATED)){ //监听update
System.out.println("数据修改");
byte[] data = pathChildrenCacheEvent.getData().getData(); //获取修改数据
System.out.println(new String(data));
}
}
});
pathChildrenCache.start();
while (true){}
}
@Test//当前节点和子节点都监听
public void testTreeCache() throws Exception {
TreeCache treeCache = new TreeCache(client,"/");
treeCache.getListenable().addListener(new TreeCacheListener() {
@Override
public void childEvent(Curatorframework curatorframework, TreeCacheEvent treeCacheEvent) throws Exception {
System.out.println("节点变化了....");
System.out.println(treeCacheEvent);
}
});
treeCache.start();
}