zookeeper API

API

import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.ZooDefs;
import org.apache.zookeeper.ZooKeeper;

import java.io.IOException;

public class ZKAPi {
    public static void main(String[] args) throws Exception {
        String coon="master:2181,node1:2181,node2:2181";//几个节点,写几个
        ZooKeeper zk = new ZooKeeper(coon, 10000, null);//10000为过期时间10s
        /*
        CreateMode.PERSISTENT	永久性节点
CreateMode.PERSISTENT_SEQUENTIAL	永久性序列节点 ,序列将多出编号
CreateMode.EPHEMERAL	临时节点,会话断开或过期时会删除此节点
CreateMode.PERSISTENT_SEQUENTIAL	临时序列节点,会话断开或过期时会删除此节点
ACL:zk自带的一个验证

         */

        zk.create("/test","test".getBytes(),
                ZooDefs.Ids.OPEN_ACL_UNSAFE,
                CreateMode.PERSISTENT );
    }
}

监听

import org.apache.zookeeper.*;
import org.junit.Before;
import org.junit.Test;

import java.io.IOException;

import static java.lang.Math.E;

public class ZKAPI01 {
    ZooKeeper zk;
 @Before
 public void init() throws Exception {
     zk = new ZooKeeper("master:2181,node1:2181,node2:2181", 3000, null);
 }
 @Test
    public void create() throws KeeperException, InterruptedException {
     zk.create("/test01","test01".getBytes(),
             ZooDefs.Ids.OPEN_ACL_UNSAFE,
             CreateMode.PERSISTENT);
     //Thread.sleep(5000);//临时节点需要指定时间,永久节点不需要
 }
 //参数2个,第一个节点路径 ,第二个监听
    //把监听与节点绑定
 @Test
    public void children()throws Exception{
     zk.getChildren("/test01", new Watcher() {
         //回掉函数
         //触发前提
         //一直监听,当节点删除时显示信息
         public void process(WatchedEvent watchedEvent) {
             System.out.println("当前节点不存在");
         }
     });
     while (true){}
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值