“监听 Znode 节点”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) (建立内容为“<syntaxhighlight lang="java"> package org.example; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.recipes.cache.ChildD…”的新页面) |
Jihongchang(讨论 | 贡献) |
||
第41行: | 第41行: | ||
} | } | ||
− | </syntaxhighlight>./zkCli.sh 命令行<syntaxhighlight lang="shell-session"> | + | </syntaxhighlight> |
+ | |||
+ | |||
+ | |||
+ | ./zkCli.sh 命令行<syntaxhighlight lang="shell-session"> | ||
[zk: localhost:2181(CONNECTED) 5] set /qf qqqqq | [zk: localhost:2181(CONNECTED) 5] set /qf qqqqq | ||
[zk: localhost:2181(CONNECTED) 6] set /qf ppppp | [zk: localhost:2181(CONNECTED) 6] set /qf ppppp | ||
[zk: localhost:2181(CONNECTED) 7] | [zk: localhost:2181(CONNECTED) 7] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | |||
IntelliJ IDEA 控制台 | IntelliJ IDEA 控制台 |
2022年8月17日 (三) 12:03的最新版本
package org.example;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.recipes.cache.ChildData;
import org.apache.curator.framework.recipes.cache.NodeCache;
import org.apache.curator.framework.recipes.cache.NodeCacheListener;
import org.apache.zookeeper.data.Stat;
import org.junit.Test;
import java.nio.charset.StandardCharsets;
public class Demo3 {
CuratorFramework cf = ZkUtil.cf();
@Test
public void listen() throws Exception {
//1.创建 NodeCache 对象,指定要监听的 Znode
NodeCache nodeCache = new NodeCache(cf, "/qf");
nodeCache.start();
//2.添加一个监听器
nodeCache.getListenable().addListener(new NodeCacheListener() {
@Override
public void nodeChanged() throws Exception {
ChildData childData = nodeCache.getCurrentData();
byte[] data = childData.getData();
Stat stat = childData.getStat();
String path = childData.getPath();
System.out.println("监听的节点是:" + path);
System.out.println("节点现在的数据是:" + new String(data, StandardCharsets.UTF_8));
System.out.println("当前节点的状态是:" + stat);
}
});
System.out.println("开始监听......");
//3.System.in.read();
System.in.read();
}
}
./zkCli.sh 命令行
[zk: localhost:2181(CONNECTED) 5] set /qf qqqqq
[zk: localhost:2181(CONNECTED) 6] set /qf ppppp
[zk: localhost:2181(CONNECTED) 7]
IntelliJ IDEA 控制台
开始监听......
监听的节点是:/qf
节点现在的数据是:qqqqq
当前节点的状态是:8589934594,17179869215,1660698163875,1660716077866,2,0,0,0,5,0,8589934594
监听的节点是:/qf
节点现在的数据是:ppppp
当前节点的状态是:8589934594,17179869217,1660698163875,1660716102689,3,0,0,0,5,0,8589934594