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(); } } }