• org.apache.zookeeper.Zookeeper
    • Zookeeper 是在Java中客户端主类,负责建立与zookeeper集群的会话,并提供方法进行操作。
  • org.apache.zookeeper.Watcher
    • Watcher接口表示一个标准的事件处理器,其定义了事件通知相关的逻辑,包含KeeperState和EventType两个枚举类,分别代表了通知状态和事件类型,同时定义了事件的回调方法:process(WatchedEvent event)。
  • process方法是Watcher接口中的一个回调方法,当ZooKeeper向客户端发送一个Watcher事件通知时,客户端就会对相应的process方法进行回调,从而实现对事件的处理。
基本使用
  • 引入pom文件
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.9</version>
</dependency>
  • 创建一个子节点
package com.czxy.zookeeper.demo01;

import org.apache.zookeeper.*;

import java.io.IOException;

/**
 * @author 550894211@qq.com
 * @version v 1.0
 * @date 2019/12/9
 */
public class ZookeeperDemo{
    public static void main(String[] args) throws IOException, KeeperException, InterruptedException {
        //初始化 Zookeeper 实例 (zk地址,会话超时时间,与系统默认一致,watcher)
        ZooKeeper zk = new ZooKeeper("192.168.100.109:2181,192.168.100.110:2181,192.168.100.111:2181", 30000, new Watcher() {
            public void process(WatchedEvent watchedEvent) {
                System.out.println(watchedEvent.getType());
                System.out.println(watchedEvent.getPath());
                System.out.println(watchedEvent.getState());
            }
        });

        //创建一个子节点
        String s = zk.create("/test03", "123".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
    }
}