2019独角兽企业重金招聘Python工程师标准>>>

package cn.itcast.bigdata.zk;import java.io.IOException;
import java.util.List;import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
import org.junit.Before;
import org.junit.Test;public class SimpleZkClient {private static final String connectString = "mini1:2181,mini2:2181,mini3:2181";private static final int sessionTimeout = 2000;ZooKeeper zkClient = null;@Beforepublic void init() throws Exception {zkClient = new ZooKeeper(connectString, sessionTimeout, new Watcher() {@Overridepublic void process(WatchedEvent event) {// 收到事件通知后的回调函数(应该是我们自己的事件处理逻辑)System.out.println(event.getType() + "---" + event.getPath());try {zkClient.getChildren("/", true);} catch (Exception e) {}}});}/*** 数据的增删改查* * @throws InterruptedException* @throws KeeperException*/// 创建数据节点到zk中public void testCreate() throws KeeperException, InterruptedException {// 参数1:要创建的节点的路径 参数2:节点大数据 参数3:节点的权限 参数4:节点的类型String nodeCreated = zkClient.create("/eclipse", "hellozk".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);//上传的数据可以是任何类型,但都要转成byte[]}//判断znode是否存在@Test public void testExist() throws Exception{Stat stat = zkClient.exists("/eclipse", false);System.out.println(stat==null?"not exist":"exist");}// 获取子节点@Testpublic void getChildren() throws Exception {List<String> children = zkClient.getChildren("/", true);for (String child : children) {System.out.println(child);}Thread.sleep(Long.MAX_VALUE);}//获取znode的数据@Testpublic void getData() throws Exception {byte[] data = zkClient.getData("/eclipse", false, null);System.out.println(new String(data));}//删除znode@Testpublic void deleteZnode() throws Exception {//参数2:指定要删除的版本,-1表示删除所有版本zkClient.delete("/eclipse", -1);}//删除znode@Testpublic void setData() throws Exception {zkClient.setData("/app1", "imissyou angelababy".getBytes(), -1);byte[] data = zkClient.getData("/app1", false, null);System.out.println(new String(data));}}

转载于:https://my.oschina.net/hengbao666/blog/1632679

ZooKeeper3.4.5-最基本API开发相关推荐

  1. python机械臂api_使用高斯机械臂的API开发

    对应不同的使用者,高斯机械臂提供以下几种开发方式: 使用Blockly开发 此种方式是使用 Studio 内置的编辑器来操作机械臂,适用于编程初学者,可以通过此种方式了解编程的基本概念,学习循环.条件 ...

  2. 报表引擎API开发入门— EJB程序数据源

    2019独角兽企业重金招聘Python工程师标准>>> 我们前面讲了几个数据源,今天我们来讲一下EJB数据源,这篇讲完我们数据源这部分就讲完了.数据连接不需要直接访问数据库,而是使用 ...

  3. 你也可以玩转Skype -- 基于Skype API开发外壳程序入门

    原文:你也可以玩转Skype -- 基于Skype API开发外壳程序入门 Skype是目前这个星球上最厉害的IM+VOIP软件,Skype现在已经改变了全球2.8亿人的生活方式.你,值得拥有! :) ...

  4. 循序渐进学.Net Core Web Api开发系列【14】:异常处理

    循序渐进学.Net Core Web Api开发系列[14]:异常处理 参考文章: (1)循序渐进学.Net Core Web Api开发系列[14]:异常处理 (2)https://www.cnbl ...

  5. 启动服务错误5拒绝访问_【Go API 开发实战 5】基础1:启动一个最简单的 RESTful API 服务器...

    启动一个最简单的 RESTful API 服务器 本节核心内容 启动一个最简单的 RESTful API 服务器 设置 HTTP Header API 服务器健康检查和状态查询 编译并测试 API 本 ...

  6. 超越村后端开发(3:安装djangorestframework+序列化+API开发前期准备)

    1.安装djangorestframework 1.安装djangorestframework及其依赖包markdown.django-filter. pip install djangorestfr ...

  7. 百度地图API开发指南

    百度地图API开发指南 本文为百度地图API官方版本的开发指南,供各位51CTO的网友进行参考. 简介什么是百度地图API? 百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮 ...

  8. 谈谈前后端分离实践中如何提升RESTful API开发效率

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取推荐书籍 来源:33h.co/edZR 团队内部RestAPI开发采用设计驱 ...

  9. 【Go API 开发实战 5】基础1:启动一个最简单的 RESTful API 服务器

    本节核心内容 启动一个最简单的 RESTful API 服务器 设置 HTTP Header API 服务器健康检查和状态查询 编译并测试 API 本小节源码下载路径:demo01 可先下载源码到本地 ...

  10. 【Go API 开发实战】Go API 开发实战教程简介(1-7)

    教程介绍 现代软件架构已经逐渐从单体架构转向微服务架构,在微服务架构中服务间通信采用轻量级通信机制.对于轻量级通信的协议而言,通常基于 HTTP 和 RPC ,能让服务间的通信变的标准化并且无状态化. ...

最新文章

  1. 3.Git的基本操作
  2. 质量管理系统_SRM供应商管理系统如何管控产品质量
  3. Ubuntu下的重要配置文件修改前要先备份
  4. jenkins 插件目录_三十二张图告诉你如何用Jenkins构建SpringBoot
  5. 解析super-smack的smack文件
  6. linux 安装mongodb 64,在CentOS 6.x 64bit上安装MongoDB 3.2社区版
  7. 日志log4cxx 封装、实例讲解、配置文件log4cxx.properties
  8. Git常见问题及报错
  9. 小程序 自适应rpx
  10. Swift 扩展 Storyboard 属性
  11. 廖雪峰Python 2.X 教程
  12. Solidworks常见问题一览
  13. 汉芯一号、木兰语言再到天赐OS,国产基础软件十年泣血,梦想何圆?
  14. 为什么unity中我的模型是红颜色的
  15. 《剑指offer》刷题——【链表】从尾到头打印链表
  16. 远程桌面连接不上,三种方法教你重启服务器
  17. < Linux >:Linux 进程概念 (1)
  18. 线性代数提纲整理(大一上)
  19. 美容护理行业的暴利时代即将结束?
  20. 基于TCP/IP的套接字服务器端和客户端编程

热门文章

  1. mcq 队列_MCQ | 密码学中作为IDEA,DES,AES,RSA的块密码
  2. 合页损失,铰链损失_多点铰链损失功能 使用Python的线性代数
  3. 用筛选法求100之内的素数
  4. 面向对象(匿名内部类在开发中的应用)
  5. ffmpeg - AVPacket内存问题分析(AVFrame一样的)
  6. HTML5 学习笔记
  7. python千位分隔符_python – 为pandas数据帧中的整数设置千位分隔符
  8. win下python2,3和pip2,3双版本共存
  9. hdu 3590——PP and QQ
  10. UVA 12298——Super Poker II