package com.sjt.test;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.Watcher.Event.KeeperState;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
public class TestZookeeper implements Watcher {
private static CountDownLatch connectedSemaphore = new CountDownLatch(1);
@Override
public void process(WatchedEvent event) {
System.out.println("Receive watched event : " + event);
if (KeeperState.SyncConnected == event.getState()) {
connectedSemaphore.countDown();
}
if (KeeperState.Disconnected == event.getState()) {
System.out.println("zookeeper is disconnected.");
}
}
public static void main(String[] args) {
try {
ZooKeeper zookeeper = new ZooKeeper("127.0.0.1:2181", 3000,
new TestZookeeper());
connectedSemaphore.await();
zookeeper.exists("/root", true);
zookeeper.create("/root/clients", "".getBytes(),
Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);
List<String> nodes = zookeeper.getChildren("/root", true);
System.out.println("" + nodes);
byte[] data = zookeeper.getData("/root/clients",
new TestZookeeper(), new Stat());
System.out.println(new String(data));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}