文档章节

zookeeper学习之java api查找并删除节点<五>

woshixin
 woshixin
发布于 2017/09/03 15:03
字数 610
阅读 114
收藏 0

  听说好兄弟 康要当爸爸了,哎哟,巧了,今天写点zk的读取数据,getchildren,zk的api套路相信你也熟悉了吧,总是有区分同步和异步的接口,获取节点数据也是一样的,我的套路也是一样的,柿子先拿软的捏。

来看看 最简单的get孩子,这边两个参数写的很明白,路径,和是否注册watch,watcher会被触发当删除节点或者删除,创建了子节点,返回结果不保证是排序的,其中不存在就抛出KeeperException。

临摹《从Paxos到Zookeeper》的代码,我的脑袋要生锈啦。

这边在/zk-souche 下面创建了一个子节点,然后又创建了一个子节点/che2

但是你发现创建另一个子节点/che2的时候,我们还是打出了日志。

你忘了我们在创建的时候是注册了一个watcher,这边传的是true和false 用的是默认的watcher,这边的wather一旦触发以后,就失效了,需要反复注册的。

在真的工作的方法中用WatchRegistration注册一个默认watcher,这边还可看到h.setType(ZooDefs.OpCode.getChildren),就是上篇说到的RequestHeader,难道服务器用header里面的code作区分吗?然后可以看到response用了GetChildrenRequest,

这边看到ZooDefs.OpCode定义 ,看到很多定义,只是截图了一部分

异步方法的套路也是一样,注册一个异步回调函数。

ctx:说是用来传递上下文信息,目前没看到怎么用

stat:用来存放节点信息,传入原来的stat,方法执行后悔返回新的

还有一个是获取节点的内容 getData,同步与异步,使用系统默认的watcher或者传入一个

使用起来就是这样的,其中数据监听器,看的不仅仅是value的变化 ,而是数据版本的变化。

这些文档写的也是类似的,难道是自动生成的吗 哈哈哈

设置RequestHeader type为getdata,用了GetDataResponse

其中删除也是类似的,同步方法 和异步方法

这个方法参数比较简单,version是版本号,-1是匹配所有的版本号,这边的删除这是不能递归删除。

有点懂它的套路啦,这边RequestHeader 设置type 为detele,只是都不用response

© 著作权归作者所有

woshixin
粉丝 31
博文 355
码字总数 269872
作品 0
杭州
程序员
私信 提问
Zookeeper安装(LINUX环境)(一)

一、上传安装包 二、解压安装包 mkdir -p /usr/lib/jvm tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/lib/jvm 三、修改配置文件 复制zoo_sample.cfg改名zoo.cfg 给zoo.cfg赋权 chmod 777 zoo.......

开源中国首席碉堡了
2018/11/19
0
0
CentOS 6.9安装配置ZooKeeper集群

一、ZooKeeper相关概念简介: ZooKeeper是一个开源的、分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提...

Marion0728
2018/06/26
0
0
[ZooKeeper]基于Java API 实践

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

瑾兰
2018/06/13
0
0
Zookeeper 的功能,安装使用方法,可视化工具ZooInspector

http://zookeeper.apache.org/ Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination. 一、zookeeper提供......

逝水丶
2017/11/05
0
0
【分布式协调zookeeper】部署篇

一、环境准备 操作系统:centOS-6.8 2.6.32-642.el6.x86_64【虚拟机环境】节点主机:10.0.55.3、10.0.55.5、10.0.55.6目录结构: /opt/软件版本: jdk-7u67-linux-x64.rpm zookeeper-3.5.0-a...

次渠龙哥
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数组算法

/*数组的相关的算法操作:1、在数组中找最大值/最小值*/class Test11_FindMax{public static void main(String[] args){int[] array = {4,2,6,8,1};//在数组中找最大...

architect刘源源
25分钟前
0
0
okhttp3 以上版本在安卓9.0无法请求数据的解决方案

应用官方的说明:在 Android 6.0 中,我们取消了对 Apache HTTP 客户端的支持。 从 Android 9 开始,默认情况下该内容库已从 bootclasspath 中移除且不可用于应用。且Android P 限制了明文流量...

chenhongjiang
今天
5
0
简单示例:NodeJs连接mysql数据库

开篇引用网上的说法: 简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于...

李朝强
今天
8
0
大数据学习路线

年薪30W大数据学习路线图: 一、Hadoop入门,了解什么是Hadoop 1、Hadoop产生背景 2、Hadoop在大数据、云计算中的位置和关系 3、国内外Hadoop应用案例介绍 4、国内Hadoop的就业情况分析及课程...

陈小君
今天
3
0
解读 Kylin 3.0.0 | 更敏捷、更高效的 OLAP 引擎

在近期的 Apache Kylin Meetup 成都站上,我们邀请到 Kyligence 架构师 & Apache Kylin Committer 倪春恩对 Kylin 3.0.0 版本的一些重要功能及改进从使用到原理进行了介绍: Apache Kylin 在...

ApacheKylin
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部