ZooKeeper3.4.5-最基本API开发
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开发相关推荐
- python机械臂api_使用高斯机械臂的API开发
对应不同的使用者,高斯机械臂提供以下几种开发方式: 使用Blockly开发 此种方式是使用 Studio 内置的编辑器来操作机械臂,适用于编程初学者,可以通过此种方式了解编程的基本概念,学习循环.条件 ...
- 报表引擎API开发入门— EJB程序数据源
2019独角兽企业重金招聘Python工程师标准>>> 我们前面讲了几个数据源,今天我们来讲一下EJB数据源,这篇讲完我们数据源这部分就讲完了.数据连接不需要直接访问数据库,而是使用 ...
- 你也可以玩转Skype -- 基于Skype API开发外壳程序入门
原文:你也可以玩转Skype -- 基于Skype API开发外壳程序入门 Skype是目前这个星球上最厉害的IM+VOIP软件,Skype现在已经改变了全球2.8亿人的生活方式.你,值得拥有! :) ...
- 循序渐进学.Net Core Web Api开发系列【14】:异常处理
循序渐进学.Net Core Web Api开发系列[14]:异常处理 参考文章: (1)循序渐进学.Net Core Web Api开发系列[14]:异常处理 (2)https://www.cnbl ...
- 启动服务错误5拒绝访问_【Go API 开发实战 5】基础1:启动一个最简单的 RESTful API 服务器...
启动一个最简单的 RESTful API 服务器 本节核心内容 启动一个最简单的 RESTful API 服务器 设置 HTTP Header API 服务器健康检查和状态查询 编译并测试 API 本 ...
- 超越村后端开发(3:安装djangorestframework+序列化+API开发前期准备)
1.安装djangorestframework 1.安装djangorestframework及其依赖包markdown.django-filter. pip install djangorestfr ...
- 百度地图API开发指南
百度地图API开发指南 本文为百度地图API官方版本的开发指南,供各位51CTO的网友进行参考. 简介什么是百度地图API? 百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮 ...
- 谈谈前后端分离实践中如何提升RESTful API开发效率
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取推荐书籍 来源:33h.co/edZR 团队内部RestAPI开发采用设计驱 ...
- 【Go API 开发实战 5】基础1:启动一个最简单的 RESTful API 服务器
本节核心内容 启动一个最简单的 RESTful API 服务器 设置 HTTP Header API 服务器健康检查和状态查询 编译并测试 API 本小节源码下载路径:demo01 可先下载源码到本地 ...
- 【Go API 开发实战】Go API 开发实战教程简介(1-7)
教程介绍 现代软件架构已经逐渐从单体架构转向微服务架构,在微服务架构中服务间通信采用轻量级通信机制.对于轻量级通信的协议而言,通常基于 HTTP 和 RPC ,能让服务间的通信变的标准化并且无状态化. ...
最新文章
- 3.Git的基本操作
- 质量管理系统_SRM供应商管理系统如何管控产品质量
- Ubuntu下的重要配置文件修改前要先备份
- jenkins 插件目录_三十二张图告诉你如何用Jenkins构建SpringBoot
- 解析super-smack的smack文件
- linux 安装mongodb 64,在CentOS 6.x 64bit上安装MongoDB 3.2社区版
- 日志log4cxx 封装、实例讲解、配置文件log4cxx.properties
- Git常见问题及报错
- 小程序 自适应rpx
- Swift 扩展 Storyboard 属性
- 廖雪峰Python 2.X 教程
- Solidworks常见问题一览
- 汉芯一号、木兰语言再到天赐OS,国产基础软件十年泣血,梦想何圆?
- 为什么unity中我的模型是红颜色的
- 《剑指offer》刷题——【链表】从尾到头打印链表
- 远程桌面连接不上,三种方法教你重启服务器
- < Linux >:Linux 进程概念 (1)
- 线性代数提纲整理(大一上)
- 美容护理行业的暴利时代即将结束?
- 基于TCP/IP的套接字服务器端和客户端编程
热门文章
- mcq 队列_MCQ | 密码学中作为IDEA,DES,AES,RSA的块密码
- 合页损失,铰链损失_多点铰链损失功能 使用Python的线性代数
- 用筛选法求100之内的素数
- 面向对象(匿名内部类在开发中的应用)
- ffmpeg - AVPacket内存问题分析(AVFrame一样的)
- HTML5 学习笔记
- python千位分隔符_python – 为pandas数据帧中的整数设置千位分隔符
- win下python2,3和pip2,3双版本共存
- hdu 3590——PP and QQ
- UVA 12298——Super Poker II