文档章节

zookeeper学习之zkclient节点增删改查<九>

woshixin
 woshixin
发布于 2017/09/07 22:18
字数 431
阅读 10
收藏 0

zkclient提供了一系列接口来创建节点,参数就简单了很多,这边是zkclient 0.1 version

一眼看去,其实感觉原来的zk api 功能更丰富呀,奇怪,不该还有权限控制吗?

简单一点就是穿一个参数就可以啦,这边创建一个持久节点

path:指定数据节点的节点路径

data:节点的初始数据nei内容

mode:节点类型

createParents:布尔类型,是否需要创建父节点

这边create方法的设计,和构造函数的设计是类似的,一个套一个,这边创建的时候,启动一个线程

最后执行的是ZkConnection,这边就用了Ids.OPEN_ACL_UNSAFE,可是我不能加点 其他权限?

创建了删除 也是很简单的,就是这样

zkClient.delete(path);

在0.1中目前就看到这样一个delete方法,封装的套路和创建是一样的,和我想象的套路有点不一样啊

public boolean delete(final String path) {
    try {
        retryUntilConnected(new Callable<Object>() {

            @Override
            public Object call() throws Exception {
                _connection.delete(path);
                return null;
            }
        });

        return true;
    } catch (ZkNoNodeException e) {
        return false;
    }
}
public void delete(String path) throws InterruptedException, KeeperException {
    _zk.delete(path, -1);
}

改节点的数据,就简单的两个方法,api的实现还是那样的

public void writeData(final String path, Object datat, final int expectedVersion) {
    final byte[] data = serialize(datat);
    retryUntilConnected(new Callable<Object>() {

        @Override
        public Object call() throws Exception {
            _connection.writeData(path, data, expectedVersion);
            return null;
        }
    });
}

剩下一个查数据,真是让人感觉奇怪,这边又可以用了默认的wather。

今天真是奇怪的一天,哎,看着今天的代码也是奇奇怪怪的,难道我看了假的zkclient代码吗?难道原来java api的一些功能没有用?

 

 

© 著作权归作者所有

共有 人打赏支持
woshixin
粉丝 23
博文 224
码字总数 200698
作品 0
杭州
程序员
分布式利器Zookeeper(三)

前言 《分布式利器Zookeeper(一)》 《分布式利器Zookeeper(二):分布式锁》 本篇博客是分布式利器Zookeeper系列的最后一篇,涉及的话题是:Zookeeper分布式锁的代码实现、zkclient的使用、...

zfz_linux_boy
07/01
0
0
ZooKeeper学习笔记五 ZooKeeper开源客户端ZkClient

本文学习资源来自《从Paxos到ZooKeeper分布式一致性原理与实践》 ZkClient ZkClient 在ZooKeeper原生API接口之上进行了封装,是一个更易用的ZooKeeper客户端。同时,ZkClient在内部实现了诸如...

xundh
04/28
0
0
[ZooKeeper]基于Java API 实践

前提 建立maven项目中 要导入zookeeper的依赖 我们同时可以打开linux中的zookeeper客户端来验证对比。输入 zkCli.sh 便可以进入zookeeper客户端 。 一、建立连接 直接建立连接后,不进行等待...

瑾兰
06/13
0
0
ZooKeeper 使用 ZKClient 获取子节点列表

ZkClient 是一个开源软件,也托管在 github。它封装了 zookeeper 原生 API。 使用 先需要在 javaws 网站上下载 ZKClient 的 jar 包。 注意 中的 IP 地址应该和 中配置的 IP 地址一致,且在 ...

兔之
2015/10/27
0
0
Apache Curator操作zookeeper的API使用

curator简介与客户端之间的异同点 常用的zookeeper java客户端: zookeeper原生Java API zkclient Apache curator ZooKeeper原生Java API的不足之处: 在连接zk超时的时候,不支持自动重连,...

ZeroOne01
04/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android适配相关

Android 6.0、7.0、8.0、9.0适配 关于android适配的好文章 Android权限申请库 AndPermission 国产,有中文文档,链式调用,用起来简单 easypermissions 谷歌官方出品 PermissionsDispatcher ...

Skqing
25分钟前
1
0
Google推出了以隐私和安全为中心的变更

作为Google Play开发者政策更新的一部分,Google推出了以隐私和安全为中心的变更。 在旨在保护敏感数据的行动中,有针对请求短信和呼叫记录权限的应用程序的新规则。 即日起,只有配置为默认...

问题终结者
27分钟前
0
0
Kotlin个人理解入门篇

了解kotlin并开始使用其做开发,是从最近之前做的项目开始之初,用的是kotlin,发现kotlin是一个特简洁,很多语法糖提供使用,可以提高开发效率的语言。谷歌在2017年谷歌大会正式宣布支持and...

DannyCoder
33分钟前
1
0
springboot+rabbitmq整合

1.安装好rabbitmq 2.新建一个springBoot项目:rabbitmq_demo 3.添加pom依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifact......

狼王黄师傅
40分钟前
0
0
使用JDK自带的jmap和jhat监控处于运行状态的Java进程

对于处于运行状态中的Java进程,JDK自带了很多工具,允许Java开发人员监控运行进程中的各种状态,比如该进程内部创建了多少个对象实例,消耗了多少内存,等等。 本文基于JDK1.8而写成。 我下...

JerryWang_SAP
50分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部