ZooKeeper -- API文档

ZooKeeper

java.lang.Object 
  org.apache.zookeeper.ZooKeeper

公共类ZooKeeper

extends Object

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

建立与服务器的连接后,会为客户端分配会话ID。客户端将定期向服务器发送心跳以保持会话有效。

只要客户端的会话ID保持有效,应用程序就可以通过客户端调用ZooKeeper API。

如果由于某种原因,客户端无法长时间向服务器发送心跳(例如,超过sessionTimeout值),则服务器将使会话到期,并且会话ID将变为无效。客户端对象将不再可用。要进行ZooKeeper API调用,应用程序必须创建一个新的客户端对象。

如果客户端当前连接的ZooKeeper服务器出现故障或者没有响应,则客户端将在其会话ID到期之前自动尝试连接到另一台服务器。如果成功,应用程序可以继续使用客户端。

一些成功的ZooKeeper API调用可以将监视留在ZooKeeper服务器中的“数据节点”上。其他成功的ZooKeeper API调用可以触发这些手表。一旦手表被触发,一个事件将被传递给客户,该手表将手表放在首位。每只手表只能触发一次。因此,对于它离开的每个手表,最多会有一个事件被传递给客户。

客户端需要实现Watcher接口的类的对象来处理传递给客户端的事件。当客户端丢弃当前连接并重新连接到服务器时,所有现有监视都被视为已触发,但未传递的事件将丢失。为了模拟这一点,客户端将生成一个特殊事件来告诉事件处理程序已删除连接。此特殊事件的类型为EventNone,状态为sKeeperStateDisconnected。


嵌套类摘要
static class ZooKeeper.States 
           

 

构造函数摘要
ZooKeeper(String connectString, int sessionTimeout, Watcher watcher) 
          要创建ZooKeeper客户端对象,应用程序需要传递一个连接字符串,其中包含逗号分隔的host:port对列表,每个对应一个ZooKeeper服务器。
ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, long sessionId, byte[] sessionPasswd) 
          要创建ZooKeeper客户端对象,应用程序需要传递一个连接字符串,其中包含逗号分隔的host:port对列表,每个对应一个ZooKeeper服务器。

 

方法摘要
 void addAuthInfo(String scheme, byte[] auth) 
          将指定的方案:auth信息添加到此连接。
 void close() 
          关闭此客户端对象。
 String create(String path, byte[] data, List acl, CreateMode createMode) 
          使用给定路径创建节点。
 void create(String path, byte[] data, List acl, CreateMode createMode, AsyncCallback.StringCallback cb, Object ctx) 
          创建的异步版本。
 void delete(String path, int version) 
          删除具有给定路径的节点。
 void delete(String path, int version, AsyncCallback.VoidCallback cb, Object ctx) 
          删除的异步版本。
 Stat exists(String path, boolean watch) 
          返回给定路径的节点的stat。
 void exists(String path, boolean watch, AsyncCallback.StatCallback cb, Object ctx) 
          存在的异步版本。
 Stat exists(String path, Watcher watcher) 
          返回给定路径的节点的stat。
 void exists(String path, Watcher watcher, AsyncCallback.StatCallback cb, Object ctx) 
          存在的异步版本。
 List getACL(String path, Stat stat) 
          返回给定路径的节点的ACL和stat。
 void getACL(String path, Stat stat, AsyncCallback.ACLCallback cb, Object ctx) 
          getACL的异步版本。
 List getChildren(String path, boolean watch) 
          返回给定路径的节点的子节点列表。
 void getChildren(String path, boolean watch, AsyncCallback.Children2Callback cb, Object ctx) 
          getChildren的异步版本。
 void getChildren(String path, boolean watch, AsyncCallback.ChildrenCallback cb, Object ctx) 
          getChildren的异步版本。
 List getChildren(String path, boolean watch, Stat stat) 
          对于给定的znode路径,返回stat和children列表。
 List getChildren(String path, Watcher watcher) 
          返回给定路径的节点的子节点列表。
 void getChildren(String path, Watcher watcher, AsyncCallback.Children2Callback cb, Object ctx) 
          getChildren的异步版本。
 void getChildren(String path, Watcher watcher, AsyncCallback.ChildrenCallback cb, Object ctx) 
          getChildren的异步版本。
 List getChildren(String path, Watcher watcher, Stat stat) 
          对于给定的znode路径,返回stat和children列表。
 void getData(String path, boolean watch, AsyncCallback.DataCallback cb, Object ctx) 
          getData的异步版本。
 byte[] getData(String path, boolean watch, Stat stat) 
          返回给定路径的节点的数据和统计信息。
 void getData(String path, Watcher watcher, AsyncCallback.DataCallback cb, Object ctx) 
          getData的异步版本。
 byte[] getData(String path, Watcher watcher, Stat stat) 
          返回给定路径的节点的数据和统计信息。
 long getSessionId() 
          此ZooKeeper客户端实例的会话ID。
 byte[] getSessionPasswd() 
          此ZooKeeper客户端实例的会话密码。
 int getSessionTimeout() 
          此ZooKeeper客户端实例的协商会话超时。
 ZooKeeper.States getState() 
           
 void register(Watcher watcher) 
          指定连接的默认观察程序(覆盖构造期间指定的观察程序)。
 Stat setACL(String path, List acl, int version) 
          如果存在这样的节点且给定版本与节点的版本匹配,则为给定路径的节点设置ACL。
 void setACL(String path, List acl, int version, AsyncCallback.StatCallback cb, Object ctx) 
          setACL的异步版本。
 Stat setData(String path, byte[] data, int version) 
          如果存在这样的节点且给定版本与节点的版本匹配,则设置给定路径的节点的数据(如果给定版本为-1,则它匹配任何节点的版本)。
 void setData(String path, byte[] data, int version, AsyncCallback.StatCallback cb, Object ctx) 
          setData的异步版本。
 void sync(String path, AsyncCallback.VoidCallback cb, Object ctx) 
          异步同步。
 String toString() 
          此ZooKeeper客户端的字符串表示形式。

 

从类java.lang继承的方法。宾语
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

 

构造函数详细信息

 

 

动物园管理员

public ZooKeeper(String  connectString,
                 int sessionTimeout,
                 观察者  观察者)
          抛出IOException

要创建ZooKeeper客户端对象,应用程序需要传递一个连接字符串,其中包含逗号分隔的host:port对列表,每个对应一个ZooKeeper服务器。

会话建立是异步的。此构造函数将启动与服务器的连接并立即返回 - 可能(通常)在会话完全建立之前。watcher参数指定将通知状态变化的观察者。此通知可以在构造函数调用返回之前或之后的任何时候到来。

实例化的ZooKeeper客户端对象将从connectString中选择一个任意服务器并尝试连接到它。如果建立连接失败,将尝试连接字符串中的另一个服务器(顺序是非确定性的,因为我们随机地随机播放列表),直到建立连接。客户端将继续尝试,直到会话显式关闭。

在3.2.0中添加:可选的“chroot”后缀也可以附加到连接字符串。这将在解释相对于此根的所有路径时运行客户端命令(类似于unix chroot命令)。

 

参数:

connectString - 逗号分隔的主机:端口对,每个对应一个zk服务器。例如“127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002”如果使用可选的chroot后缀,示例将如下所示:“127.0.0.1:3000,127.0.0.1:3001,127.0.0.1: 3002 / app / a“客户端将根据”/ app / a“并且所有路径都相对于此根目录 - 即获取/设置/ etc ...”/ foo / bar“将导致运行操作在“/ app / a / foo / bar”上(从服务器的角度来看)。

sessionTimeout - 会话超时(以毫秒为单位)

watcher - 还将通知节点事件,该观察器对象将被通知状态改变

抛出:

IOException - 在网络故障的情况下

IllegalArgumentException - 如果指定了无效的chroot路径


 

动物园管理员

public ZooKeeper(String  connectString,
                 int sessionTimeout,
                 观察者  观察者,
                 long sessionId,
                 byte [] sessionPasswd)
          抛出IOException

要创建ZooKeeper客户端对象,应用程序需要传递一个连接字符串,其中包含逗号分隔的host:port对列表,每个对应一个ZooKeeper服务器。

会话建立是异步的。此构造函数将启动与服务器的连接并立即返回 - 可能(通常)在会话完全建立之前。watcher参数指定将通知状态变化的观察者。此通知可以在构造函数调用返回之前或之后的任何时候到来。

实例化的ZooKeeper客户端对象将从connectString中选择一个任意服务器并尝试连接到它。如果建立连接失败,将尝试连接字符串中的另一个服务器(顺序是非确定性的,因为我们随机地随机播放列表),直到建立连接。客户端将继续尝试,直到会话显式关闭(或者会话已被服务器过期)。

在3.2.0中添加:可选的“chroot”后缀也可以附加到连接字符串。这将在解释相对于此根的所有路径时运行客户端命令(类似于unix chroot命令)。

使用getSessionId()getSessionPasswd()建立的客户端连接,如果重新连接,这些值必须分别作为sessionId和sessionPasswd传递。否则,如果不重新连接,请使用不需要这些参数的其他构造函数。

 

参数:

connectString - 逗号分隔的主机:端口对,每个对应一个zk服务器。例如“127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002”如果使用可选的chroot后缀,示例将如下所示:“127.0.0.1:3000,127.0.0.1:3001,127.0.0.1: 3002 / app / a“客户端将根据”/ app / a“并且所有路径都相对于此根目录 - 即获取/设置/ etc ...”/ foo / bar“将导致运行操作在“/ app / a / foo / bar”上(从服务器的角度来看)。

sessionTimeout - 会话超时(以毫秒为单位)

watcher - 还将通知节点事件,该观察器对象将被通知状态改变

sessionId - 重新连接时使用的特定会话ID

sessionPasswd - 此会话的密码

抛出:

IOException - 在网络故障的情况下

IllegalArgumentException - 如果指定了无效的chroot路径

方法细节

getSessionId

public long getSessionId()

此ZooKeeper客户端实例的会话ID。在客户端连接到服务器之前返回的值无效,并且在重新连接后可能会更改。此方法不是线程安全的

 

返回:

当前会话ID


getSessionPasswd

public byte [] getSessionPasswd()

此ZooKeeper客户端实例的会话密码。在客户端连接到服务器之前返回的值无效,并且在重新连接后可能会更改。此方法不是线程安全的

 

返回:

当前会话密码


getSessionTimeout

public int getSessionTimeout()

此ZooKeeper客户端实例的协商会话超时。在客户端连接到服务器之前返回的值无效,并且在重新连接后可能会更改。此方法不是线程安全的

 

返回:

当前会话超时


 

addAuthInfo

public void addAuthInfo(String  scheme,
                        byte [] auth)

将指定的方案:auth信息添加到此连接。此方法不是线程安全的

 

参数:

scheme -

auth -


register

public void register(Watcher  watcher)

指定连接的默认观察程序(覆盖构造期间指定的观察程序)。

 

参数:

watcher -


close

public void close()
           抛出InterruptedException

关闭此客户端对象。客户端关闭后,其会话将变为无效。将删除与会话关联的ZooKeeper服务器中的所有临时节点。将触发留在这些节点(及其父母)上的手表。

 

抛出:

InterruptedException


 

create

public String  create(String  path,
                     byte []数据,
                     列出 < ACL > acl,
                      CreateMode  createMode)
              抛出KeeperException,
                      InterruptedException

使用给定路径创建节点。节点数据将是给定数据,节点acl将是给定的acl。

flags参数指定创建的节点是否是短暂的。

当与节点创建相关联的会话到期时,ZooKeeper将自动删除短暂节点。

flags参数还可以指定创建顺序节点。顺序节点的实际路径名将是给定路径加上后缀“i”,其中i是节点的当前序列号。序列号始终固定长度为10位,0填充。一旦创建了这样的节点,序列号将增加1。

如果ZooKeeper中已存在具有相同实际路径的节点,则将抛出带有错误代码KeeperException.NodeExists的KeeperException。请注意,由于每次使用相同路径参数创建顺序节点的调用都使用不同的实际路径,因此调用将永远不会抛出“文件存在”KeeperException。

如果ZooKeeper中不存在父节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。

短暂的节点不能有孩子。如果给定路径的父节点是短暂的,则将抛出带有错误代码KeeperException.NoChildrenForEphemerals的KeeperException。

此操作(如果成功)将通过exists和getData API调用触发给定路径的节点上留下的所有监视,并且通过getChildren API调用将监视留在父节点上。

如果成功创建节点,ZooKeeper服务器将触发存在调用留下的路径上的监视,并通过getChildren调用触发节点父节点上的监视。

数据阵列的最大允许大小为1 MB(1,048,576字节)。大于此数的数组将导致抛出KeeperExecption。

 

参数:

path - 节点的路径

data - 节点的初始数据

acl - 节点的acl

createMode - 指定要创建的节点是短暂的和/或顺序的

返回:

创建节点的实际路径

抛出:

KeeperException - 如果服务器返回非零错误代码

KeeperException.InvalidACLException - 如果ACL无效,为null或为空

InterruptedException - 如果交易中断

IllegalArgumentException - 如果指定了无效路径


 

create

public void create(String  path,
                   byte [] data,
                   List < ACL > acl,
                    CreateMode  createMode,
                    AsyncCallback.StringCallback  cb,
                    Object  ctx)

创建的异步版本。在调用异步回调之前,请求实际上并不存在。

 

也可以看看:

create(String, byte[], List, CreateMode)


 

delete

public void delete(String  path,
                   int版)
            抛出InterruptedException,
                    KeeperException

删除具有给定路径的节点。如果存在这样的节点,则调用将成功,并且给定版本与节点的版本匹配(如果给定版本为-1,则它匹配任何节点的版本)。

如果节点不存在,将抛出带有错误代码KeeperException.NoNode的KeeperException。

如果给定版本与节点的版本不匹配,将抛出带有错误代码KeeperException.BadVersion的KeeperException。

如果节点有子节点,将抛出带有错误代码KeeperException.NotEmpty的KeeperException。

此操作(如果成功)将触发现有API调用留下的给定路径节点上的所有监视,以及getChildren API调用留下的父节点上的监视。

 

参数:

path - 要删除的节点的路径。

version - 预期的节点版本。

抛出:

InterruptedException - 如果服务器事务中断

KeeperException - 如果服务器使用非零返回码发出错误信号。

IllegalArgumentException - 如果指定了无效路径


 

delete

public void delete(String  path,
                   int版本,
                   AsyncCallback.VoidCallback  cb,
                    Object  ctx)

删除的异步版本。在调用异步回调之前,请求实际上并不存在。

 

也可以看看:

delete(String, int)


 

exists

public Stat  exists(String  path,
                    Watcher  watcher)
            抛出KeeperException,
                    InterruptedException

返回给定路径的节点的stat。如果不存在这样的节点,则返回null。

如果监视非空并且调用成功(不抛出任何异常),则将在具有给定路径的节点上保留监视。手表将由创建/删除节点或在节点上设置数据的成功操作触发。

 

参数:

path - 节点路径

watcher - 明确的观察者

返回:

给定路径的节点的stat; 如果不存在这样的节点,则返回null。

抛出:

KeeperException - 如果服务器发出错误信号

InterruptedException - 如果服务器事务中断。

IllegalArgumentException - 如果指定了无效路径


 

exists

public Stat  exists(String  path,
                   布尔表)
            抛出KeeperException,
                    InterruptedException

返回给定路径的节点的stat。如果不存在这样的节点,则返回null。

如果监视为真并且调用成功(不会抛出异常),则会在具有给定路径的节点上保留监视。手表将由创建/删除节点或在节点上设置数据的成功操作触发。

 

参数:

path - 节点路径

watch - 是否需要观看此节点

返回:

给定路径的节点的stat; 如果不存在这样的节点,则返回null。

抛出:

KeeperException - 如果服务器发出错误信号

InterruptedException - 如果服务器事务中断。


 

exists

public void exists(String  path,
                    Watcher  watcher,
                    AsyncCallback.StatCallback  cb,
                    Object  ctx)

存在的异步版本。在调用异步回调之前,请求实际上并不存在。

 

也可以看看:

exists(String, boolean)


 

exists

public void exists(字符串  路径,
                   布尔表,
                   AsyncCallback.StatCallback  cb,
                    Object  ctx)

存在的异步版本。在调用异步回调之前,请求实际上并不存在。

 

也可以看看:

exists(String, boolean)


 

getData

public byte [] getData(String  path,
                       Watcher  watcher,
                       Stat  stat)
               抛出KeeperException,
                       InterruptedException

返回给定路径的节点的数据和统计信息。

如果监视非空并且调用成功(不抛出任何异常),则将在具有给定路径的节点上保留监视。手表将由在节点上设置数据的成功操作触发,或删除节点。

如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。

 

参数:

path - 给定的路径

watcher - 明确的观察者

stat - 节点的统计信息

返回:

节点的数据

抛出:

KeeperException - 如果服务器用非零错误代码发出错误信号

InterruptedException - 如果服务器事务中断。

IllegalArgumentException - 如果指定了无效路径


 

getData

public byte [] getData(String  path,
                      布尔表,
                      统计  数据)
               抛出KeeperException,
                       InterruptedException

返回给定路径的节点的数据和统计信息。

如果监视为真并且调用成功(不会抛出异常),则会在具有给定路径的节点上保留监视。手表将由在节点上设置数据的成功操作触发,或删除节点。

如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。

 

参数:

path - 给定的路径

watch - 是否需要观看此节点

stat - 节点的统计信息

返回:

节点的数据

抛出:

KeeperException - 如果服务器用非零错误代码发出错误信号

InterruptedException - 如果服务器事务中断。


 

getData

public void getData(String  path,
                     Watcher  watcher,
                     AsyncCallback.DataCallback  cb,
                     Object  ctx)

getData的异步版本。在调用异步回调之前,请求实际上并不存在。

 

也可以看看:

getData(String, Watcher, Stat)


 

getData

public void getData(String  path,
                    布尔表,
                    AsyncCallback.DataCallback  cb,
                     Object  ctx)

getData的异步版本。在调用异步回调之前,请求实际上并不存在。

 

也可以看看:

getData(String, boolean, Stat)


 

setData

public Stat  setData(String  path,
                    byte []数据,
                    int版)
             抛出KeeperException,
                     InterruptedException

如果存在这样的节点且给定版本与节点的版本匹配,则设置给定路径的节点的数据(如果给定版本为-1,则它匹配任何节点的版本)。返回节点的统计信息。

此操作如果成功,将触发getData调用留下的给定路径的节点上的所有监视。

如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。

如果给定版本与节点的版本不匹配,将抛出带有错误代码KeeperException.BadVersion的KeeperException。

数据阵列的最大允许大小为1 MB(1,048,576字节)。大于此数的数组将导致抛出KeeperExecption。

 

参数:

path - 节点的路径

data - 要设置的数据

version - 预期的匹配版本

返回:

节点的状态

抛出:

InterruptedException - 如果服务器事务中断。

KeeperException - 如果服务器用非零错误代码发出错误信号。

IllegalArgumentException - 如果指定了无效路径


 

setData

public void setData(String  path,
                    byte []数据,
                    int版本,
                    AsyncCallback.StatCallback  cb,
                     Object  ctx)

setData的异步版本。在调用异步回调之前,请求实际上并不存在。

 

也可以看看:

setData(String, byte[], int)


 

getACL

public List < ACL > getACL(String  path,
                         Stat  stat)
                 抛出KeeperException,
                         InterruptedException

返回给定路径的节点的ACL和stat。

如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。

 

参数:

path - 节点的给定路径

stat - 节点的stat将复制到此参数。

返回:

给定节点的ACL数组。

抛出:

InterruptedException - 如果服务器事务中断。

KeeperException - 如果服务器用非零错误代码发出错误信号。

IllegalArgumentException - 如果指定了无效路径


 

getACL

public void getACL(String  path,
                    Stat  stat,
                    AsyncCallback.ACLCallback  cb,
                    Object  ctx)

getACL的异步版本。在调用异步回调之前,请求实际上并不存在。

 

也可以看看:

getACL(String, Stat)


 

setACL

public Stat  setACL(String  path,
                    List < ACL > acl,
                   int版)
            抛出KeeperException,
                    InterruptedException

如果存在这样的节点且给定版本与节点的版本匹配,则为给定路径的节点设置ACL。返回节点的统计信息。

如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。

如果给定版本与节点的版本不匹配,将抛出带有错误代码KeeperException.BadVersion的KeeperException。

 

参数:

path -

acl -

version -

返回:

节点的统计信息。

抛出:

InterruptedException - 如果服务器事务中断。

KeeperException - 如果服务器用非零错误代码发出错误信号。

KeeperException.InvalidACLException - 如果acl是无效的。

IllegalArgumentException - 如果指定了无效路径


 

setACL

public void setACL(String  path,
                    List < ACL > acl,
                   int版本,
                   AsyncCallback.StatCallback  cb,
                    Object  ctx)

setACL的异步版本。在调用异步回调之前,请求实际上并不存在。

 

也可以看看:

setACL(String, List, int)


 

getChildren

public List < String > getChildren(String  path,
                                 Watcher  watcher)
                         抛出KeeperException,
                                 InterruptedException

返回给定路径的节点的子节点列表。

如果监视非空并且调用成功(不抛出任何异常),则将在具有给定路径的节点上保留监视。手表将由成功的操作触发,该操作删除给定路径的节点或在节点下创建/删除子节点。

返回的子项列表未进行排序,并且不保证其自然或词汇顺序。

如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。

 

参数:

path -

watcher - 明确的观察者

返回:

具有给定路径的节点的无序子节点数组

抛出:

InterruptedException - 如果服务器事务中断。

KeeperException - 如果服务器用非零错误代码发出错误信号。

IllegalArgumentException - 如果指定了无效路径


 

getChildren

public List < String > getChildren(String  path,
                                布尔表)
                         抛出KeeperException,
                                 InterruptedException

返回给定路径的节点的子节点列表。

如果监视为真并且调用成功(不会抛出异常),则会在具有给定路径的节点上保留监视。手表将由成功的操作触发,该操作删除给定路径的节点或在节点下创建/删除子节点。

返回的子项列表未进行排序,并且不保证其自然或词汇顺序。

如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。

 

参数:

path -

watch -

返回:

具有给定路径的节点的无序子节点数组

抛出:

InterruptedException - 如果服务器事务中断。

KeeperException - 如果服务器用非零错误代码发出错误信号。


 

getChildren

public void getChildren(String  path,
                         Watcher  watcher,
                         AsyncCallback.ChildrenCallback  cb,
                         Object  ctx)

getChildren的异步版本。在调用异步回调之前,请求实际上并不存在。

 

也可以看看:

getChildren(String, Watcher)


 

getChildren

public void getChildren(String  path,
                        布尔表,
                        AsyncCallback.ChildrenCallback  cb,
                         Object  ctx)

getChildren的异步版本。在调用异步回调之前,请求实际上并不存在。

 

也可以看看:

getChildren(String, boolean)


 

getChildren

public List < String > getChildren(String  path,
                                 Watcher  watcher,
                                 Stat  stat)
                         抛出KeeperException,
                                 InterruptedException

对于给定的znode路径,返回stat和children列表。

如果监视非空并且调用成功(不抛出任何异常),则将在具有给定路径的节点上保留监视。手表将由成功的操作触发,该操作删除给定路径的节点或在节点下创建/删除子节点。

返回的子项列表未进行排序,并且不保证其自然或词汇顺序。

如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。

 

参数:

path -

watcher - 明确的观察者

stat - path指定的znode的stat

返回:

具有给定路径的节点的无序子节点数组

抛出:

InterruptedException - 如果服务器事务中断。

KeeperException - 如果服务器用非零错误代码发出错误信号。

IllegalArgumentException - 如果指定了无效路径

以来:

3.3.0


 

getChildren

public List < String > getChildren(String  path,
                                布尔表,
                                统计  数据)
                         抛出KeeperException,
                                 InterruptedException

对于给定的znode路径,返回stat和children列表。

如果监视为真并且调用成功(不会抛出异常),则会在具有给定路径的节点上保留监视。手表将由成功的操作触发,该操作删除给定路径的节点或在节点下创建/删除子节点。

返回的子项列表未进行排序,并且不保证其自然或词汇顺序。

如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。

 

参数:

path -

watch -

stat - path指定的znode的stat

返回:

具有给定路径的节点的无序子节点数组

抛出:

InterruptedException - 如果服务器事务中断。

KeeperException - 如果服务器用非零错误代码发出错误信号。

以来:

3.3.0


 

getChildren

public void getChildren(String  path,
                         Watcher  watcher,
                         AsyncCallback.Children2Callback  cb,
                         Object  ctx)

getChildren的异步版本。在调用异步回调之前,请求实际上并不存在。

 

以来:

3.3.0

也可以看看:

getChildren(String, Watcher, Stat)


 

的getChildren

public void getChildren(String  path,
                        布尔表,
                        AsyncCallback.Children2Callback  cb,
                         Object  ctx)

getChildren的异步版本。在调用异步回调之前,请求实际上并不存在。

 

以来:

3.3.0

也可以看看:

getChildren(String, boolean, Stat)


 

sync

public void sync(String  path,
                  AsyncCallback.VoidCallback  cb,
                  Object  ctx)

异步同步。刷新流程和领导者之间的渠道。

 

参数:

path -

cb - 回调的处理程序

ctx - 要提供给回调的上下文

抛出:

IllegalArgumentException - 如果指定了无效路径


getState

public ZooKeeper.States  getState()

toString

public String  toString()

此ZooKeeper客户端的字符串表示形式。适合伐木等。不要指望这个字符串的格式,它可能会在没有警告的情况下改变。

 

覆盖:

toString 在班上 Object

以来:

3.3.0

 

转载来源:http://zookeeper.apache.org/doc/r3.3.2/api/org/apache/zookeeper/ZooKeeper.html

你可能感兴趣的:(Unix&Unix-Like,ZooKeeper,ZooKeeper)