
Watch就是监听,观察。
其实就是客户端注册watch,然后服务端发生节点数据变化的时候会触发watch事件,接着回调客户端
创建工程和实现类
创建java 的maven工程,然后在pom中添加对应的zookeeper的maven信息,其版本需要和安装的zookeeper版本一致
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.8.0</version>
</dependency>
复制代码
与zookeeper集群建立连接,其中使用了三个参数:
- connectString: 连接地址, 集群中各个节点的地址和端口,使用逗号隔开。
- sessionTimeout: 超时时间,session的超时
- watcher: 监听,在session中注册监听,此 watcher是session级别的
连接配置以及watch相关的使用参考下面的代码
public static void main(String[] args) throws IOException, KeeperException, InterruptedException {
CountDownLatch countDownLatch = new CountDownLatch(1);
ZooKeeper zk = new ZooKeeper("127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183", 3000, new Watcher() {
@Override
public void process(WatchedEvent watchedEvent) {
Event.KeeperState state = watchedEvent.getState();
System.out.println(watchedEvent.toString());
switch (state) {
case Unknown:
&nbs

最低0.47元/天 解锁文章
1339

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



