work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Zookeeper 重连机制

Posted on 2018-11-05 22:57  work hard work smart  阅读(1004)  评论(0编辑  收藏  举报

Zookeeper 重连机制

public class ZKConnectSessionWatcher implements Watcher {


    public final static String zkServerPath = "10.10.10.10:2181";

    public final  static  int timeout = 5000;

    public static void main(String[] args) throws  Exception {
        ZooKeeper zk = new ZooKeeper(zkServerPath, timeout, new ZKConnectSessionWatcher());
        long sessionId = zk.getSessionId();
        byte[] sessionPassword = zk.getSessionPasswd();

        log("客户端开始连接Zookeeper服务器...");
        log("连接状态:" + zk.getState());

        new Thread().sleep(1000);
        log("连接状态:" + zk.getState());

        log("开始会话重连。。。");

        ZooKeeper zkSession = new ZooKeeper(zkServerPath, timeout, new ZKConnectSessionWatcher(), sessionId, sessionPassword);
        log("重新连接zkSession:" + zkSession.getState());
        new Thread().sleep(1000);
        log("重新连接zkSession:" + zkSession.getState());
    }

    public void process(WatchedEvent event) {
        System.out.println("接收到watch通知:" + event.toString());
    }

    private static void log(String msg){
        System.out.println(msg);
    }