第一关、创建会话与关闭

【题目来自头歌enducoder平台,有帮助的话,不忘点个赞、关注哟!】

import java.io.IOException;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
public class test1 {// 初始化 ZooKeeper 实例  private ZooKeeper zk;  // 实现一个 Watcher  // 请在此处编写代码  /********* Begin *********/  private Watcher wh = new Watcher() {  // 重写 process 方法  public void process(WatchedEvent event) {  System.out.println(event);  }  };  /********* End *********/// 连接 ZooKeeper 服务器  private void createZKInstance() throws IOException {  // 请在此处编写代码  /********* Begin *********/  zk = new ZooKeeper("localhost:2181", 15000, this.wh);  /********* End *********/}// 断开连接  private void ZKClose() throws InterruptedException {  // 请在此处编写代码  /********* Begin *********/  zk.close();  /********* End *********/  }public static void main(String[] args) throws IOException, InterruptedException{  test1 test = new test1();  //  连接 ZooKeeper 服务器  test.createZKInstance();  // 断开连接  test.ZKClose();  }
}

第二关、节点删除与创建

import org.apache.zookeeper.*;
import java.io.IOException;
public class Student {  // 初始化 ZooKeeper 实例  private ZooKeeper zk;  // 实现一个 Watcher  private Watcher wh = new Watcher() {  // 重写 process 方法  public void process(WatchedEvent event) {  System.out.println(event);  }  };// 连接ZooKeeper服务器  public ZooKeeper createZKInstance() throws IOException {          zk = new ZooKeeper("localhost:2181", 15000, this.wh);  return zk;  }// 使用同步方式删除节点 /mynode1  public void deleteNode() throws KeeperException, InterruptedException {  // 请在此处编写代码  /********* Begin *********/  zk.delete("/mynode1",-1);  /********* End *********/}  // 使用异步方式创建节点 /mynode1  public void createNodeSync() {  // 请在此处编写代码  /********* Begin *********/  String path = "/mynode1";  zk.create(path, "This node is mine!".getBytes(), ZooDefs.Ids.READ_ACL_UNSAFE, CreateMode.PERSISTENT,new test.MyStringCallback(),"CreateMynode!" );  /********* End *********/}
}

第三关、节点数据获取

import org.apache.zookeeper.*;
import org.apache.zookeeper.data.Stat;
import java.io.IOException;
public class Student {  // 初始化 ZooKeeper 实例  private ZooKeeper zk;  // 实现一个 Watcher  private Watcher wh = new Watcher() {  // 重写 process 方法  public void process(WatchedEvent event) {  System.out.println(event);  }  };  // 连接ZooKeeper服务器  public ZooKeeper createZKInstance() throws IOException {  zk = new ZooKeeper("localhost:2181", 15000, this.wh);  return zk;  }// 同步获取节点数据  public  void getData() throws IOException, KeeperException, InterruptedException {  // 请在此处编写代码  /********* Begin *********/  Stat stat = new Stat();  byte[] data = zk.getData("/myzk", wh, stat);  System.out.println(new String(data));  /********* End *********/}
}

第四关、异步回调

import org.apache.zookeeper.*;
import org.apache.zookeeper.data.Stat;
import java.io.IOException;
public class Student {  // 初始化 ZooKeeper 实例  private ZooKeeper zk;  // 实现一个 Watcher  private Watcher wh = new Watcher() {  // 重写 process 方法  public void process(WatchedEvent event) {  System.out.println(event);  }  };  // 连接ZooKeeper服务器  public ZooKeeper createZKInstance() throws IOException {  zk = new ZooKeeper("localhost:2181", 15000, this.wh);  return zk;  }// 异步删除节点  public  void deleteNode() throws IOException, KeeperException, InterruptedException {  // 请在此处编写代码  /********* Begin *********/  Stat stat = new Stat();  zk.delete("/mycallnode",stat.getVersion(),new MyCallback(),"delete");  /********* End *********/}  // 请在此处编写代码,完成回调函数的编写  /********* Begin *********/      public static class MyCallback  implements AsyncCallback.VoidCallback{  // 重写 processResult 方法  @Override  public void processResult(int i, String s, Object o) {  // 输出上下文信息  System.out.println(o);  }  }  /********* End *********/
}

Zookeeper-api基础教程相关推荐

  1. .NET Core Web API基础教程(案例)

    .NET Core Web API基础教程(案例) 项目包含三个模板 GitHub地址 TodoItem (基础) Models/TodoItem Models/TodoContext Control ...

  2. Excel poi API基础教程!

    原文转子: http://blog.csdn.net/yellowd1/article/details/44628701 登录 | 注册 yellowd1的专栏 目录视图 摘要视图 订阅 程序员12月 ...

  3. Spring Boot 2.x基础教程:Swagger静态API文档的生成

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | didispace.com/spring-boot-learni ...

  4. 抖音小程序基础之 目前提供哪些API(教程含源码)

    抖音小程序基础之 目前提供哪些API(教程含源码) 小程序开发框架提供丰富的 字节跳动宿主 原生 API,可以方便的调起 字节跳动宿主 提供的能力,如获取系统信息等.详细介绍请参考 API 文档. 通 ...

  5. Spring Cloud Alibaba基础教程:与Dubbo的完美融合

    很早以前,在刚开始搞Spring Cloud基础教程的时候,写过这样一篇文章:<微服务架构的基础框架选择:Spring Cloud还是Dubbo?>,可能不少读者也都看过.之后也就一直有关 ...

  6. Spring Boot 2.x基础教程:使用Elastic Job实现定时任务

    上一篇,我们介绍了如何使用Spring Boot自带的@Scheduled注解实现定时任务(https://blog.didispace.com/spring-boot-learning-2-7-1/ ...

  7. Spring Boot 2.x基础教程:使用JTA实现分布式事务

    在一个Spring Boot项目中,连接多个数据源还是比较常见的.之前也介绍了如何在几种常用框架的场景下配置多数据源,具体可见: Spring Boot 2.x基础教程:JdbcTemplate的多数 ...

  8. Spring Boot 2.x基础教程:MyBatis的多数据源配置

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 前两天,我们已经介绍了关于JdbcTemplate的多数 ...

  9. Spring Boot 2.x基础教程:使用MyBatis的XML配置方式

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | http://blog.di ...

  10. Spring Boot 2.x基础教程:使用国产数据库连接池Druid

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | http://blog.di ...

最新文章

  1. 十年架构师详解,Spring-IoC容器装配Bean
  2. 计算机软件系统包括应用软件和什么,计算机软件系统包括什么
  3. android中私有方法 继承,Android项目实战系列—基于博学谷(五)个人资料
  4. RC电路输出波形的时域与频域分析
  5. 你不知道的vscode之空间控制
  6. c++builder中dbgrid控件排序_如何实现APP中各种布局效果?学会这几个控件就够了...
  7. 安卓学习笔记18:常用控件 - 按钮、图像视图和图像按钮
  8. 模块间同步消息队列的设计
  9. 读书笔记《Java开发技术-在架构中体验设计模式和架构之美》
  10. flutter去掉输入框最大字数显示
  11. matlab与maple互联,编程语言与Maple联合使用教程
  12. 斗鱼自动刷屏脚本-javaScript斗鱼刷屏脚本-js刷屏脚本
  13. 2022-2027年中国缝制机械行业市场全景评估及发展战略规划报告
  14. 如何在Ubuntu下使用全民wifi?
  15. 推荐一个超级好用的正则匹配在线的网站
  16. 面试时问你对该公司有什么想法如何回答?
  17. java线程状态——java线程状态图
  18. goldenboy机器人_急求阿西莫夫机器人,基地,帝国三大系列的书名及其简介
  19. Linda Rising:“你相信谁?”
  20. 【JetPack+Retrofit+Rxjava】获取Bing每日一图并显示ViewModel+LiveData+DataBinding+MVVM 补充笔记

热门文章

  1. 手机app定制开发流程图
  2. NSS修改CODE详细操作教程(附图)及NSS软件下载—5530参考执行
  3. 反射内存RFM2G的学习与使用
  4. WAS 6.1 的类加载四
  5. java判断文件路径的状况
  6. 【测试工具】一、手把手教会jmeter流程测试与性能测试
  7. 【黑苹果升级到ventura13】 Y7000P-2018升级到 ventura13
  8. C语言_公因数(公约数)、最大公因数
  9. kali2020 vnc安装,在Kali Linux 2020.x上安装和卸载VLC媒体播放器的方法
  10. 如何提高微信小程序的访问量?