zoukankan      html  css  js  c++  java
  • zookeeper Zookeeper

    这是ZooKeeper客户端库的主要类。使用一个ZooKeeper服务,应用程序必须首先实例化ZooKeeper类的对象。所有的迭代都将通过调用ZooKeeper类的方法来完成。除非另有说明,该类的方法是线程安全的。

    构造函数:

        public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher)
            throws IOException
        {
            this(connectString, sessionTimeout, watcher, false);
        }
    

      

        public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher,
                boolean canBeReadOnly)
            throws IOException{
            LOG.info("Initiating client connection, connectString=" + connectString
                    + " sessionTimeout=" + sessionTimeout + " watcher=" + watcher);
    
            watchManager.defaultWatcher = watcher;
    
            ConnectStringParser connectStringParser = new ConnectStringParser(
                    connectString);
            HostProvider hostProvider = new StaticHostProvider(
                    connectStringParser.getServerAddresses());
            cnxn = new ClientCnxn(connectStringParser.getChrootPath(),
                    hostProvider, sessionTimeout, this, watchManager,
                    getClientCnxnSocket(), canBeReadOnly);
            cnxn.start();
        }
    

      

        public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher,
                long sessionId, byte[] sessionPasswd)
            throws IOException{
            this(connectString, sessionTimeout, watcher, sessionId, sessionPasswd, false);
        }
    

      

        public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher,
                long sessionId, byte[] sessionPasswd, boolean canBeReadOnly)
            throws IOException{
            LOG.info("Initiating client connection, connectString=" + connectString
                    + " sessionTimeout=" + sessionTimeout
                    + " watcher=" + watcher
                    + " sessionId=" + Long.toHexString(sessionId)
                    + " sessionPasswd="
                    + (sessionPasswd == null ? "<null>" : "<hidden>"));
    
            watchManager.defaultWatcher = watcher;
    
            ConnectStringParser connectStringParser = new ConnectStringParser(
                    connectString);
            HostProvider hostProvider = new StaticHostProvider(
                    connectStringParser.getServerAddresses());
            cnxn = new ClientCnxn(connectStringParser.getChrootPath(),
                    hostProvider, sessionTimeout, this, watchManager,
                    getClientCnxnSocket(), sessionId, sessionPasswd, canBeReadOnly);
            cnxn.seenRwServerBefore = true; // since user has provided sessionId
            cnxn.start();
        }
    

      

  • 相关阅读:
    Kafka之消费者与消费者组
    Kafka之生产者
    基于Redis+Lua的分布式限流
    限流方案常用算法讲解
    分布式服务限流
    微服务框架服务调用与容错
    ZooKeeper实现服务注册中心
    微服务注册中心
    让我自己来整理
    Netty框架
  • 原文地址:https://www.cnblogs.com/shiguotao-com/p/9368781.html
Copyright © 2011-2022 走看看