标签:scribe jar 测试 depend static log watch private create
操作步骤:
一、引入zkclient的jar包(maven方式)
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
二、调用相关代码
package com.zookeeper.api.zkClientApi;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.I0Itec.zkclient.IZkDataListener;
import org.I0Itec.zkclient.ZkClient;
public class ZkClientApi {
private final static String connectString = "192.168.194.128:2181,192.168.194.129:2181,192.168.194.130:2181";
public static void main(String[] args) throws InterruptedException {
ZkClient zkClient = new ZkClient(connectString,4000);
//zkClient一次创建多个节点
zkClient.createPersistent("/zkclient/zkclient1/zkclient1-1", true);
System.out.println("创建多层节点成功");
List<String> list = zkClient.getChildren("/zkclient");
System.out.println("获取zkclient节点下的子节点:"+list);
//zkClient删除一个节点,和原生api一样,只能从最底层节点一个一个删除
// zkClient.delete("/zkclient");
//zkClient递归删除某个节点及其子节点
zkClient.deleteRecursive("/zkclient");
System.out.println("删除zkclient及其下面的子节点成功\n");
//利用watch机制做订阅,使用异步操作处理节点
zkClient.subscribeDataChanges("/node", new IZkDataListener(){
public void handleDataChange(String arg0, Object arg1)
throws Exception {
System.out.println("节点名称:"+arg0+"-->修改后的值:"+arg1);
}
public void handleDataDeleted(String arg0) throws Exception {
System.out.println("删除节点"+arg0+"成功");
}
});
zkClient.createPersistent("/node","node");
TimeUnit.SECONDS.sleep(2);
zkClient.writeData("/node", "node1");
TimeUnit.SECONDS.sleep(2);
zkClient.delete("/node");
TimeUnit.SECONDS.sleep(2);
}
}
三、显示测试结果
创建多层节点成功 获取zkclient节点下的子节点:[zkclient1] 删除zkclient及其下面的子节点成功 节点名称:/node-->修改后的值:node 节点名称:/node-->修改后的值:node1 删除节点/node成功
标签:scribe jar 测试 depend static log watch private create
原文地址:http://www.cnblogs.com/sxjun/p/7729320.html