• Zookeeper:JavaApi更新、删除、读取节点


    1.更新

    同步方式:

    /**
             * 三个参数
             * the path of the node
             * the data to set
             * the expected matching version
             */
            Stat stat = zooKeeper.setData("/set/node1", "NODE1".getBytes(), 1);
    

     返回值Stat中封装了set命令中的返回值,可以通过Stat的各种get方法去获取。

     异步方式:

    zooKeeper.setData("/set/node1", "nnn".getBytes(), -1, new AsyncCallback.StatCallback() {
                public void processResult(int rc, String path, Object ctx, Stat stat) {
                    System.out.println(rc);//0代表修改成功
                    System.out.println(path);//节点路径
                    System.out.println(ctx);//上下文参数
                    System.out.println(stat);//属性描述对象
                }
            },"ctx");
    

     打印结果:

     

     2.删除

    同步方式:

            /**
             * @param path
             *       the path of the node to be deleted.
             *  @param version
             *       the expected node version. 当为-1时,表示不考虑当前节点的版本信息。
            */
            zooKeeper.delete("/delete/node1",0);
    

    异步方式:

            //VoidCallback:异步回调接口
            zooKeeper.delete("/delete/node2", -1, new AsyncCallback.VoidCallback() {
                public void processResult(int rc, String path, Object ctx) {
                    System.out.println(rc);//0表示删除成功
                    System.out.println(path);//节点路径
                    System.out.println(ctx);//上下文信息
                }
            },"ctx");

    打印结果:

     3.读取

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

    path:znode路径

    b:是否使用连接对象中注册的监视器。

    stat:返回znode的元数据。

    callBack:异步回调接口。

    ctx:传递上下文参数。

    4.查看子节点

    List<String> getChildren(String path,boolean b)   同步方式
    List<String> getChildren(String path,boolean b,AsyncCallback.DataCallback callBack,Object ctx) 异步方式

    path:znode路径

    b:是否使用连接对象中注册的监视器。

    callBack:异步回调接口。

    ctx:传递上下文参数。

    5.判断节点是否存在

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

     当Stat为null时,则该节点不存在。

  • 相关阅读:
    Flask的jinja2模板中自定义过滤器的使用
    Django的CBV方式讲解
    【Flask】 Jinja2模板语言
    如何把excel数据导入数据库
    在flask中使用jsonify和json.dumps的区别
    flask request 获取json内容2种方式
    flask装饰器route实现路由功能理解
    ASP.NET—016:ASP.NET中保存文件对话框
    子查询(章节摘要)
    今年股票注定有一波行情
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/12936294.html
Copyright © 2020-2023  润新知