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
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
剩下一个查数据,真是让人感觉奇怪,这边又可以用了默认的wather。
今天真是奇怪的一天,哎,看着今天的代码也是奇奇怪怪的,难道我看了假的zkclient代码吗?难道原来java api的一些功能没有用?