Java API:介绍&创建节点|学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 快速学习 Java API:介绍&创建节点

开发者学堂课程【大数据 ZooKeeper 快速入门 Java API:介绍&创建节点】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/549/detail/7570


Java API:介绍&创建节点


目录:

一、zookeeper 的 JavaAPI 介绍

二、JavaAPI 基本使用

 

课程概要:下面学习在 JavaAPI 中操作 zookeeper 集群

 

一.Zookeeper Java API

org.apache.zookeeper.Zookeeper

Zookeeper是在Java中客户端主类,负责建立与zookeeper集群的会话,并提供方法进行操作。在zookeeper类上提供了相应的方法,例如节点的创建、修改和删除等

org. apache.z.ookeeper.Watcher

Watcher 接口表示一个标准的事件处理器,其定义了事件通知相关的逻辑,包含KeeperState 和 EventType 两个枚举类,分别代表了通知状态和事件类型,同时定义了事件的回调方法: process (WatchedEvent event)。

process 方法是 Watcher 接口中的一个回调方法,当 ZooKeeper 向客户端发送一个 Watcher 事件通知时,客户端就会对相应的 process 方法进行回调,从而实现对事件的处理。

此逻辑即为 javaAPI 操作 zookeeper 类

 

二、基本使用

1. 建立 java maven 项目

引入 maven pom 坐标。

只需要把 zookeeper 引入,版本号与服务器保持一致

<dependency>

<groupId>org.apache.zookeeper</groupld>

<artifactId>zookeeper</artifactld>

<version>3.4.9K/version>

</ dependency>

2. 在 IDEA 中创建一个工程

(1)创建 maven 项目

(2)选择 maven 工程点击下一步,填写组织名和框架名称

(3)项目工程名称和存储路径

最终创建结果图:

image.png

在 pom.xml 中,把 zookeeper 依赖复制进入刷新即可

(4)Java 代码开发

在 main 方法中创建一个包,创建 TestZKClient.java

//创建 main 方法

public static void main(String[] args) throws Exception{

//注意导包:引入 org下的 zookeeper

//构造 JAVA 的 zookeeper 客户端

ZooKeeper zk = new ZooKeeper(

//连接信息:IP 和端口,毫秒超时事件,监听

//本地未配置 host 映射,此处应写 ip

"node-1:2181, node-2:2181, node-3:2181",30000,new Watcher()

) {

@Override

//此处为事件通知的回调方法,客户端在此处进行逻辑

public void process (WatchedEvent event){

System. out. println(”事件类型为:” + event.getState( ) ;

System. out. println(”事件类型为:” + event.getType( ) ;

System. out. println("事件发生的路径: “+ event. getPath);

}) ;

//创建一个节点

//在根目录下创建 myGirls,数据为性感的

zk.create("/myGirls,”性感的".getBytes("UTF-8"),ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT)

Zk.close()

代码运行:没有zk方法创建节点的运行

image.png

此处打印三句话,第一个表示客户端与集群连接,客户端连接为 None

代码运行:

image.png

#在服务器上查看是否创建成功

[zk:localhost:2181(CONNECTED) 15] ls /

运行结果:

[myGrills00000000011,hellozk,watchtest]

#查看数据

[zk:localhost:2181(CONNECTED) 15] get /myGrills00000000011

运行结果:

性感的

czxid =0x200000051

ctime = Thu an o416:04:25 cST 2018

mzxid = 0x200000051

mtime = Thu an0416:04:25 cST 2018

pzxid = 0x200000051

cversion = 0

dataversion = 0

ac1version = 0

ephemera1owner = 0x0

dataLength = 9

numchi1dren = 0

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
4天前
|
Java API Apache
ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
【4月更文挑战第11天】ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
23 11
|
5天前
|
安全 Java API
java借助代理ip,解决访问api频繁导致ip被禁的问题
java借助代理ip,解决访问api频繁导致ip被禁的问题
|
8天前
|
存储 安全 Java
说说Java 8 引入的Stream API
说说Java 8 引入的Stream API
11 0
|
8天前
|
分布式计算 Java API
Java 8新特性之Lambda表达式与Stream API
【4月更文挑战第16天】本文将介绍Java 8中的两个重要新特性:Lambda表达式和Stream API。Lambda表达式是Java 8中引入的一种新的编程语法,它允许我们将函数作为参数传递给其他方法,从而使代码更加简洁、易读。Stream API是Java 8中引入的一种新的数据处理方式,它允许我们以声明式的方式处理数据,从而使代码更加简洁、高效。本文将通过实例代码详细讲解这两个新特性的使用方法和优势。
|
9天前
|
安全 Java API
RESTful API设计与实现:Java后台开发指南
【4月更文挑战第15天】本文介绍了如何使用Java开发RESTful API,重点是Spring Boot框架和Spring MVC。遵循无状态、统一接口、资源标识和JSON数据格式的设计原则,通过创建控制器处理HTTP请求,如示例中的用户管理操作。此外,文章还提及数据绑定、验证、异常处理和跨域支持。最后,提出了版本控制、安全性、文档测试以及限流和缓存的最佳实践,以确保API的稳定、安全和高效。
|
12天前
|
存储 Java 关系型数据库
掌握Java 8 Stream API的艺术:详解流式编程(一)
掌握Java 8 Stream API的艺术:详解流式编程
46 1
|
21天前
|
前端开发 Java API
构建RESTful API:Java中的RESTful服务开发
【4月更文挑战第3天】本文介绍了在Java环境中构建RESTful API的重要性及方法。遵循REST原则,利用HTTP方法处理资源,实现CRUD操作。在Java中,常用框架如Spring MVC简化了RESTful服务开发,包括定义资源、设计表示层、实现CRUD、考虑安全性、文档和测试。通过Spring MVC示例展示了创建RESTful服务的步骤,强调了其在现代Web服务开发中的关键角色,有助于提升互操作性和用户体验。
构建RESTful API:Java中的RESTful服务开发
|
1月前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
92 3
|
1月前
|
分布式计算 Java 程序员
Java 8新特性之Lambda表达式与Stream API
本文将详细介绍Java 8中的两个重要新特性:Lambda表达式和Stream API。Lambda表达式是Java 8中引入的一种简洁、匿名的函数表示方法,它允许我们将函数作为参数传递给其他方法。而Stream API则是一种新的数据处理方式,它允许我们以声明式的方式处理数据,从而提高代码的可读性和可维护性。通过本文的学习,你将能够掌握Lambda表达式和Stream API的基本用法,以及如何在项目中应用这两个新特性。
31 10
|
1月前
|
Java API 数据处理
Java 8新特性之Lambda表达式与Stream API
本文将介绍Java 8中的两个重要特性:Lambda表达式和Stream API。Lambda表达式是一种新的语法结构,允许我们将函数作为参数传递给方法。而Stream API则是一种处理数据的新方式,它允许我们对数据进行更简洁、更高效的操作。通过学习这两个特性,我们可以编写出更简洁、更易读的Java代码。