首页 > 编程语言 >Zookeeper_java_API的简介

Zookeeper_java_API的简介

时间:2023-05-11 09:44:42浏览次数:41  
标签:zookeeper java zk Zookeeper System API printLn testRootPath

1.Zookeeper_java_API的简介
1.1)org.apache.zookeeper.Zookeeper
Zookeeper是在Java客户端主类,负责建立与zookeeper集群的会话,并提供方法进行操作。
1.2)org.apache.zookeeper.Watcher
Watcher接口表示一个标准的事件处理器,其定义了事件通知相关的逻辑,包含KeeperState和EventType两个枚举类,分别代表了通知状态和事件类型,同时定义了事件的回调方法:process(WatcheredEvent event)
process方法是watcher接口中的一个回调方法,当zookeeper向客户端发送一个watcher事件通知时,客户端就会对相应的process方法进行回调,从而实现对事件的处理。
2.基本使用
2.1)建立maven项目,引入依赖

org.apache.zookeeper
zookeeper
3.4.9

//初始化zookeeper实例(zk地址、会话超时时间、与系统默认一致、watcher)
Zookeeper zk = new Zookeeper("node-1:2181,node-2:2181",30000,new Watcher(){
@override
public void process(WatcheEvent event){
System.out.printLn("事件类型为:"+event.getType());
System.out.printLn("事件发生的路径:"+event.getPath());
System.out.printLn("通知状态为:"+event.getState());
}
})

   zk.create("/myGirls","性感的".getBytes("UTF-8"),Ids.OPEN_ACL_UNSAFE,CreateMode.PRESISTENT);
   //对节点/myGirls进行监听,true表示开启监听,null表示不需要sate状态
   zk.getData("/myGirls",true,null);
   zk.close();

3.更多操作示例
//创建一个目录节点
zk.create("/testRootPath","testRootData".getBytes(),Ids.OPEN_ACL_UNSAFE,CreateMode.PRESISTENT);
//创建一个子目录节点
zk.create("/testRootPath/testChildPathOne","testChildPathOne".getBytes(),Ids.OPEN_ACL_UNSAFE,CreateMode.PRESISTENT);
System.out.printLn(new String(zk.getData("/testRootPath",false,null)));
//取出子目录节点列表
System.out.printLn(zk.getChildren("/testRootPath",true));
//修改子目录节点数据,"modifyChildDataOne".getBytes()表示修改的内容,最后一个参数为-1表示交给系统来维护
注意:它只能触发一次
zk.setData("/testRootPath/testChildPathOne","modifyChildDataOne".getBytes(),-1);
System.out.printLn("目录节点状态:["+zk.exists("/testRootPath",true)+"]");
//创建另外一个子目录节点
zk.create("/testRootPath/testChildPathTwo","testChildDataTwo".getBytes(),Ids.OPEN_ACL_UNSAFE,CreateMode.PRESISTENT)
System.out.printLn(new String(zk.getData("/testRootPath/testChildPathTwo",true,null)));
//删除子目录节点
zk.delete("/testRootPath/testChildTwo",-1);
zk.delete("/testRootPath/testChildOne",-1);
//删除父节点
zk.delete("/testRootPath",-1);

关注我的公众号SpaceObj 领取idea系列激活码

标签:zookeeper,java,zk,Zookeeper,System,API,printLn,testRootPath
From: https://www.cnblogs.com/zhanghongrui/p/17390062.html

相关文章

  • JavaScript 面向对象编程
    面向对象编程ObjectOrientedProgramming面向对象编程用对象把数据和方法聚合起来。面向对象编程的优点能写出模块化的代码能使得代码更灵活能提高代码的可重用性面向对象编程的原则继承(inheritance):子类/派生类从父类/基类/超类中派生,形成继承结构封装(encapsulati......
  • java8 数据分组的两种方式?
    第一种:使用partitioningBy收集器例子:Map<Boolean,List<Art>>= artist.stream.collect(partitioningBy(x->x.isSolo()));根据true,false分类,满足条件的返回到true,不满足的返回到false第二种:使用groupingBy分组Map<String,List<Art>>= artist.stream.collect(groupin......
  • 数据库连接池报错java.lang.NoClassDefFoundError
    第一次用c3p0,在连接时,发声如下报错java.lang.NoClassDefFoundError 经查看,发现它需要辅助包 mchange-commons-java.jar,下载放入后,即可 ......
  • 在 IDEA 中创建 Java Web 项目的方式(详细步骤教程)
    开发环境以下是我的开发环境JDK1.8Maven3.6.3Tomcat9.0IDEA2019(2019无所畏惧,即使现在已经2023年了哈哈哈)最原始的JavaWeb项目下面的内容可能会因IDEA版本不同,而有些选项不同,但是大同小异。1.打开IDEA点击CreateNewProject2.点击JavaEnterprise......
  • java基于springboot+vue的房屋租赁租房系统、租房管理系统,附源码+数据库,免费包运行,适
    1、项目介绍java基于springboot+vue的房屋租赁租房系统、租房管理系统,分为管理员和用户。用户的功能有:登录、注册、房屋信息、交流论坛、房屋咨询、在线客服、个人中心、我的收藏、我的发布、预约看房管理、在线签约管理、租赁评价管理、管理员的功能有:登录、个人中心、用户管......
  • Java数组
    含义:数组是存储同一种数据类型多个元素的容器。数组既可以存储基本数据类型,也可以存储引用数据类型,分为一维数组和二维数组。一维数组:定义格式:格式 1 :数据类型 [] 数组名 ; (推荐的方式)格式 2 :数据类型 数组名 [];初始化:Java 中的数组必须先初始化 , 然后才能使用......
  • APISIX部署
    1.安装依赖#安装epel,`luarocks`需要它wgethttp://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmsudorpm-ivhepel-release-latest-7.noarch.rpm#添加OpenResty源sudoyuminstallyum-utilssudoyum-config-manager--add-repohttps://ope......
  • JAVA学习笔记随记3(面向对象高级)
    类变量类变量的内存布局目前对于类变量的内存布局不能一概而论。对于jdk8及其之前的版本,类变量放在方法区的静态域中。对于之后版本的jdk而言,类变量放在堆区。但实例化出的对象,类变量都是通过引用的。无论如何有以下两个公示:1.静态对象被所有对象共享。2.static类变量,在......
  • 34基于Java的学生选课系统或学生课程管理系统
    本系统是基于Java的学生选课信息管理系统,可以有效的对学生选课信息、学生个人信息、教师个人信息等等进行管理。摘要:基于java的学生课程管理系统,基于java的学生选课系统,javaWeb的学生选课系统,学生成绩管理系统,课表管理系统,学院管理系统,大学生选课系统设计与实现,网上选课系统,课......
  • 百度地图开发api
     获取百度地图ak:https://zhuanlan.zhihu.com/p/574521243 引入依赖:<!--引入HttpClient依赖--><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.3</version></......