zookeeper学习之java API会话建立<四>
2017-08-29 00:00
330 查看
摘要: zookeeper
在上一篇zk中简单玩了下api的连接创建会话,也总是留下了很多坑,就是那些引申开来,搞不明白的问题。有时候想追究起来,问题总是那么无穷无尽,有时候问题比答案更有力度吧,到最后都是些哲学问题吗?存在的这一切,还是一切归于虚无,小时候总是被教育要讲科学,但是感觉科学怎么那么没有温度,不如哲学问题那么温暖人心。
瞎逼逼好了,这里还是写点java api的使用吧,不如写点代码
文档地址 3.5.3 :http://zookeeper.apache.org/doc/r3.5.3-beta/api/index.html
3.5.3的beta版本里面有很多个创建方法(比3.4.X又丰富了api),开始我们总是拿最简单的那个开始,没错,就是第一个,这是一个同步创建的接口。
执行的结果 很满意
这边的参数文档说明
path 路径,已经已经存在了,会报创建节点已经存在的从错误(KeeperException.NodeExists),并且zookeeper api不支持递归创建,就是不能在父节点不存在的情况下(KeeperException.NoNode),创建子节点,第三方的工具封装了,可以省下很多活。
data 数据,这个目前zookeeper只支持数组 buty[],就是说需要我们自己序列化,复杂对象可以使用第三方工具来序列化,那我想存复杂对象的场景是怎么样的。
acl 权限控制,这边使用了Ids.OPEN_ACL_UNSAFE
createMode 节点mode,下面的解释也很清晰,上面我们创建的是临时节点,会话结束 就 die啦,还有持久型的,都有顺序型,后面补上两种带TTL的,当没有子节点的时候,自动删除。
我们看看 创建顺序节点,顺序总是有应用场景的
日志:
其他都是类似的,还有一个异步创建的的
日志:
异步创建还是方便的,其中主要是 AsyncCallback的实现,回调接口好多,不看了,其中stat是节点zhuagn状态。
里面就一个方法,参数的说明也在下面
在创建的时候
设置RequestHeader,CreateRequest和CreateResponse,这个套路很熟悉呀,不过ReplyHeader是干嘛的,暂时不知道,最后执行的就是我们io处理的
ClientCnxn对象啦。
在cnxn里面:把数据封装到了packet中处理,到了这一层,居然把数据统一到packet啦,这边的注解写的 xid只是在实际发送的地方生成。
微信公众号
在上一篇zk中简单玩了下api的连接创建会话,也总是留下了很多坑,就是那些引申开来,搞不明白的问题。有时候想追究起来,问题总是那么无穷无尽,有时候问题比答案更有力度吧,到最后都是些哲学问题吗?存在的这一切,还是一切归于虚无,小时候总是被教育要讲科学,但是感觉科学怎么那么没有温度,不如哲学问题那么温暖人心。
瞎逼逼好了,这里还是写点java api的使用吧,不如写点代码
文档地址 3.5.3 :http://zookeeper.apache.org/doc/r3.5.3-beta/api/index.html
3.5.3的beta版本里面有很多个创建方法(比3.4.X又丰富了api),开始我们总是拿最简单的那个开始,没错,就是第一个,这是一个同步创建的接口。
执行的结果 很满意
这边的参数文档说明
path 路径,已经已经存在了,会报创建节点已经存在的从错误(KeeperException.NodeExists),并且zookeeper api不支持递归创建,就是不能在父节点不存在的情况下(KeeperException.NoNode),创建子节点,第三方的工具封装了,可以省下很多活。
data 数据,这个目前zookeeper只支持数组 buty[],就是说需要我们自己序列化,复杂对象可以使用第三方工具来序列化,那我想存复杂对象的场景是怎么样的。
acl 权限控制,这边使用了Ids.OPEN_ACL_UNSAFE
createMode 节点mode,下面的解释也很清晰,上面我们创建的是临时节点,会话结束 就 die啦,还有持久型的,都有顺序型,后面补上两种带TTL的,当没有子节点的时候,自动删除。
我们看看 创建顺序节点,顺序总是有应用场景的
日志:
其他都是类似的,还有一个异步创建的的
日志:
异步创建还是方便的,其中主要是 AsyncCallback的实现,回调接口好多,不看了,其中stat是节点zhuagn状态。
里面就一个方法,参数的说明也在下面
在创建的时候
设置RequestHeader,CreateRequest和CreateResponse,这个套路很熟悉呀,不过ReplyHeader是干嘛的,暂时不知道,最后执行的就是我们io处理的
ClientCnxn对象啦。
在cnxn里面:把数据封装到了packet中处理,到了这一层,居然把数据统一到packet啦,这边的注解写的 xid只是在实际发送的地方生成。
微信公众号
相关文章推荐
- zookeeper学习之java api查找并删除节点<五>
- zookeeper学习之java api权限控制<七>
- <Head First Java>学习笔记--第六章:认识Java的API
- elasticsearch 学习博客系列<四> ES 中 index-doc 的 删除(java)
- LDAP学习笔记<四>jldap实现Java对LDAP的基本操作
- zookeeper学习之java api<六>
- Box2d源码学习<四>数学库API的实现
- Android NDK学习 <四> Application.mk简介
- Android NDK学习 <四> Application.mk简介
- 学习java笔记 --- 一个实现Iterable<E>接口的小范例
- 黑马程序员 java高新技术<四>--类加载器、动态代理技术的深入讲解与应用
- 黑马程序员Java初级<四>---> 数组
- Java笔记4 JavaAPI<4>集合(Arrays)、Collections
- Android NDK学习 <四> Application.mk简介
- 黑马程序员 java基础<四>--IO流(2)
- Java笔记4 JavaAPI<3>Map、Map-keySet、Map.entry
- hadoop学习笔记<四>----map-reduce工作原理
- (转)MFC技巧学习<四>
- Java总结<四>集合框架
- JAVA高新技术学习<一>