美文网首页
zookeeper javaAPI

zookeeper javaAPI

作者: 小石读史 | 来源:发表于2021-02-19 16:09 被阅读0次

    znode是zooKeeper集合的核心组件,zookeeper API提供了一小组方法使用 zookeeper集合来操纵znode的所有细节。

    1.连接到ZooKeeper

    ZooKeeper(String connectionString, int sessionTimeout, Watcher watcher)
    

    connectionString : zookeeper主机
    sessionTimeout :会话超时(以毫秒为单位)
    watcher :实现“监视器”对象。zookeeper集合通过监视器对象返回连接状态。

    2.新增节点

    // 同步方式 
    create(String path, byte[] data, List<ACL> acl, CreateMode createMode) 
    // 异步方式
     create(String path, byte[] data, List<ACL> acl, CreateMode createMode, AsyncCallback.StringCallback callBack,Object ctx)
    

    path : znode路径。例如,/node1 /node1/node11
    data : 要存储在指定znode路径中的数据
    acl : 要创建的节点的访问控制列表。zookeeper API提供了一个静态接口 ZooDefs.Ids 来获取一些基本的acl列表。如ZooDefs.Ids.OPEN_ACL_UNSAFE 返回打开znode的acl列表。
    createMode : 节点的类型,这是一个枚举。
    callBack:异步回调接口
    ctx:传递上下文参数

    3.更新节点

    // 同步方式 
    setData(String path, byte[] data, int version) 
    // 异步方式 
    setData(String path, byte[] data, int version,AsyncCallback.StatCallback callBack, Object ctx)
    

    path: znode路径
    data :要存储在指定znode路径中的数据。
    version: znode的当前版本。每当数据更改时,ZooKeeper会更新znode的版本 号。
    callBack:异步回调接口
    ctx:传递上下文参数

    4.删除节点

    // 同步方式 
    delete(String path, int version) 
    // 异步方式 
    delete(String path, int version, AsyncCallback.VoidCallback callBack, Object ctx)
    

    path : znode路径。
    version : znode的当前版本
    callBack:异步回调接口
    ctx:传递上下文参数

    5.查看节点

    // 同步方式 
    getData(String path, boolean b, Stat stat) 
    // 异步方式 
    getData(String path, boolean b,AsyncCallback.DataCallback callBack, Object ctx)
    

    path : znode路径。
    b:是否使用连接对象中注册的监视器。
    stat : 返回znode的元数据。
    callBack:异步回调接口
    ctx:传递上下文参数

    6.查看子节点

    // 同步方式 
    getChildren(String path, boolean b) 
    // 异步方式 
    getChildren(String path, boolean b,AsyncCallback.ChildrenCallback callBack,Object ctx)
    

    path :Znode路径。
    b: 是否使用连接对象中注册的监视器。
    callBack:异步回调接口。
    ctx:传递上下文参数

    7.检查节点是否存在

    // 同步方法 
    exists(String path, boolean b) 
    // 异步方法 
    exists(String path, boolean b,AsyncCallback.StatCallback callBack,Object ctx)
    

    path:znode路径。
    b:是否使用连接对象中注册的监视器。
    callBack:异步回调接口。
    ctx:传递上下文参数

    相关文章

      网友评论

          本文标题:zookeeper javaAPI

          本文链接:https://www.haomeiwen.com/subject/utovgktx.html