ZooKeeper源码解析(二)-Java编程API

本文介绍了如何使用ZooKeeper提供的Java API进行常见操作,包括创建、删除节点、获取及设置节点数据等,并展示了如何通过Watcher接口实现事件监听。

ZooKeeper还为客户端提供了Java API编程接口的方式。API接口主要是ZooKeeper类中的方法,下面列举几个常用的客户端操作的Java代码示例。

create

创建ZooKeeper路径节点,参数需提供路径名称和路径关联数据。对应create命令。

示例代码如下:

ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this); zk.create("/test","Hello".getBytes(), null, CreateMode.PERSISTENT);  

 

删除

删除路径,对应delete命令。

ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this);

zk.delete("/test", -1); 

 

getData

获取路径关联数据。对应get命令。

ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this);

String data  = zk.getData("/test", false,null); 

 

setData

设置节点关联数据。对应set命令。

ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this);

zk.setData ("/test", "Welcome".getBytes(), -1);

 

 getChildren

获取子节点路径列表。对应ls命令。

ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this);

List<String> list = zk.getChildren("/", false); 

 

Watcher

设置观察者:

只要在实例化ZooKeeper类时指定Watcher实现即可实现ZooKeeper事件,Watcher实现只需要实现process接口方法即可。

示例代码:

zk = new ZooKeeper(address, sessionTimeout, new Watcher() { 

     // 监控所有被触发的事件 

     public void process(WatchedEvent event) { 

           System.out.println("触发事件:" + event.getType()); 

    } 

});  

这段代码监听ZooKeeper所有变化,事件处理代码是打印event类型。

转载于:https://my.oschina.net/u/778683/blog/979181

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值