package zk.test;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
public class ZkTest {
private static final int SESSION_TIMEOUT = 30000;
public static void main(String[] args) throws Exception{
ZooKeeper zk = new ZooKeeper("localhost:2181",
SESSION_TIMEOUT, new Watcher() {
// 监控所有被触发的事件
@Override
public void process(WatchedEvent event) {
System.out.println("已经触发了" + event.getType() + "事件!");
}
});
zk.create("/testRootA", "testRoot_data".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
//创建子节点1
zk.create("/testRootA/testChild_1", "testChild_data".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
System.out.println(new String(zk.getData("/testRootA", false, null)));
System.out.println((zk.getChildren("/testRootA/testChild_1", true)));
//修改
zk.setData("/testRootA/testChild_1", "modifyTestChildOne".getBytes(), -1);
System.out.println("目录结点状态:" + zk.exists("/testRootA", true));
//创建子节点2
zk.create("/testRootA/testChild_2", "testChild_2_data".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
System.out.println((zk.getChildren("/testRootA/testChild_2", true)));
//删除结点
zk.delete("/testRootA/testChild_1", -1);
zk.delete("/testRootA/testChild_2", -1);
zk.delete("/testRootA", -1);
zk.close();
}
}
分享到:
相关推荐
它的编程API提供了丰富的功能,使得开发者能够方便地与Zookeeper交互。以下是对Zookeeper API的一些关键知识点的详细说明: 1. **初始化连接**: 在使用Zookeeper API之前,你需要创建一个`ZooKeeper`实例,通常...
1. **RMI基础知识**:RMI是Java提供的一种标准API,用于在分布式环境中调用远程对象的方法。它包括三个主要步骤:定义远程接口、实现远程接口和服务端绑定远程对象到RMI注册表、客户端通过注册表查找并调用远程对象...
总结起来,这个"Dubbo+zookeeper调用java接口"的案例旨在演示如何在分布式环境中,通过Dubbo和Zookeeper实现服务的发布、注册、查找和调用。开发者可以通过分析和运行这个案例,深入了解Dubbo和Zookeeper的协同工作...
Zookeeper 能够保证在分布式系统中数据的一致性,并且它提供的 API 允许客户端通过简单的调用来与 Zookeeper 服务进行交互。 #### 二、Zookeeper 的核心概念 ##### 2.1 ZNode ZNode(Zookeeper Node)是 ...
在IT行业中,Zookeeper和Java API的结合使用是分布式系统管理的重要组成部分。Zookeeper是由Apache软件基金会开发的一个开源项目,它提供了一种高效且可靠的分布式协调服务,常用于配置管理、命名服务、集群管理和...
本文将深入探讨如何使用Java客户端API来对Zookeeper的Znode进行增删改查操作,并讨论同步与异步两种方式的使用。 首先,要使用Java客户端API访问Zookeeper,你需要引入相关的依赖。在Maven项目中,可以在pom.xml...
在这个"zookeeper-demo"项目中,我们将深入探讨如何使用Java API与ZooKeeper进行交互,并实现一个简单的上下线检测功能。 1. **ZooKeeper基本概念** - **节点(ZNode)**:ZooKeeper的数据存储结构是树形的,每个...
Zookeeper的Java原生API是开发人员在Java环境中与Zookeeper进行交互的主要工具。Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行...
第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...
第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...
透明化远程调用意味着开发者在编写代码时,无需关注服务的远程调用细节,就像调用本地方法一样简单。Dubbo通过RPC(Remote Procedure Call)机制实现了这一目标,使得服务消费方可以像调用本地方法一样调用远程服务...
第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...
ZooKeeper是一个高可用、高性能的分布式协调服务,它提供了一种简单的方式来管理和维护配置信息、命名服务、分布式同步、组服务等。Zookeeper基于ZAB协议,确保数据的一致性和可靠性,常被用作分布式应用程序的数据...
4. **slf4j-api.jar**:Simple Logging Facade for Java,它提供一个简单的API,使得最终用户可以在部署时插入所需的日志库,比如log4j。SLF4J允许在部署时选择不同的日志实现,提高了灵活性。 5. **slf4j-log4j12....
通过对ZooKeeper客户端初始化过程、与服务器间的交互逻辑、API调用方式、Watch机制以及容错机制的分析,我们可以更深入地理解ZooKeeper的工作原理及其应用场景。这不仅有助于开发者更好地利用ZooKeeper提供的功能,...
Dubbo是一款高性能、轻量级的Java远程服务调用框架,而Zookeeper则是一个分布式的、开放源码的分布式应用程序协调服务。本教程将通过一个简单的示例,讲解如何将二者结合,实现服务的提供者(Provider)和消费者...
第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...
本文将深入探讨如何利用Zookeeper实现一个简单的分布式RPC(Remote Procedure Call)框架,同时也会涉及一些基础的源码分析和实用工具的使用。 首先,我们要理解Zookeeper的角色。Zookeeper是由Apache开发的一个...
- `src/main/java/org/apache/zookeeper/client`:客户端的实现,包括连接管理和API调用。 - `src/main/java/org/apache/zookeeper/data`:数据模型相关的类,如ZNode的元数据结构。 - `src/main/java/org/apache/...