ZooKeeper Java API 创建Session连接

package lab.anoper.zk.main;

import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;

/**
 * 简单的建立ZooKeeper连接的例子
 */
public class Sample implements Watcher{
    //计数的信号量
    private static CountDownLatch connectedSemaphore = new CountDownLatch(1);

    public static void main(String[] args) throws IOException {
        String hostPort = "192.168.32.132:2181";
        ZooKeeper zk = new ZooKeeper(hostPort, 5000, new Sample());
        System.out.println("Keeper state: " + zk.getState());
        try {
            //计数到0, 就自动被唤醒
            connectedSemaphore.await();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("ZooKeeper session established.");
    }

    public void process(WatchedEvent event) {
        System.out.println("Receive watched event: " + event);
        if (Event.KeeperState.SyncConnected == event.getState()) {
            connectedSemaphore.countDown();
        }
     }
}

你可能感兴趣的:(ZooKeeper)