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 使用给定路径创建节点。 |
void |
create(String path, byte[] data, List 创建的异步版本。 |
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。 |
void |
setACL(String path, List 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路径
方法细节 |
---|
public long getSessionId()
此ZooKeeper客户端实例的会话ID。在客户端连接到服务器之前返回的值无效,并且在重新连接后可能会更改。此方法不是线程安全的
返回:
当前会话ID
public byte [] getSessionPasswd()
此ZooKeeper客户端实例的会话密码。在客户端连接到服务器之前返回的值无效,并且在重新连接后可能会更改。此方法不是线程安全的
返回:
当前会话密码
public int getSessionTimeout()
此ZooKeeper客户端实例的协商会话超时。在客户端连接到服务器之前返回的值无效,并且在重新连接后可能会更改。此方法不是线程安全的
返回:
当前会话超时
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)
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)
public Stat exists(String path,
Watcher watcher)
抛出KeeperException,
InterruptedException
返回给定路径的节点的stat。如果不存在这样的节点,则返回null。
如果监视非空并且调用成功(不抛出任何异常),则将在具有给定路径的节点上保留监视。手表将由创建/删除节点或在节点上设置数据的成功操作触发。
参数:
path
- 节点路径
watcher
- 明确的观察者
返回:
给定路径的节点的stat; 如果不存在这样的节点,则返回null。
抛出:
KeeperException
- 如果服务器发出错误信号
InterruptedException
- 如果服务器事务中断。
IllegalArgumentException
- 如果指定了无效路径
public Stat exists(String path,
布尔表)
抛出KeeperException,
InterruptedException
返回给定路径的节点的stat。如果不存在这样的节点,则返回null。
如果监视为真并且调用成功(不会抛出异常),则会在具有给定路径的节点上保留监视。手表将由创建/删除节点或在节点上设置数据的成功操作触发。
参数:
path
- 节点路径
watch
- 是否需要观看此节点
返回:
给定路径的节点的stat; 如果不存在这样的节点,则返回null。
抛出:
KeeperException
- 如果服务器发出错误信号
InterruptedException
- 如果服务器事务中断。
public void exists(String path,
Watcher watcher,
AsyncCallback.StatCallback cb,
Object ctx)
存在的异步版本。在调用异步回调之前,请求实际上并不存在。
也可以看看:
exists(String, boolean)
public void exists(字符串 路径,
布尔表,
AsyncCallback.StatCallback cb,
Object ctx)
存在的异步版本。在调用异步回调之前,请求实际上并不存在。
也可以看看:
exists(String, boolean)
public byte [] getData(String path,
Watcher watcher,
Stat stat)
抛出KeeperException,
InterruptedException
返回给定路径的节点的数据和统计信息。
如果监视非空并且调用成功(不抛出任何异常),则将在具有给定路径的节点上保留监视。手表将由在节点上设置数据的成功操作触发,或删除节点。
如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。
参数:
path
- 给定的路径
watcher
- 明确的观察者
stat
- 节点的统计信息
返回:
节点的数据
抛出:
KeeperException
- 如果服务器用非零错误代码发出错误信号
InterruptedException
- 如果服务器事务中断。
IllegalArgumentException
- 如果指定了无效路径
public byte [] getData(String path,
布尔表,
统计 数据)
抛出KeeperException,
InterruptedException
返回给定路径的节点的数据和统计信息。
如果监视为真并且调用成功(不会抛出异常),则会在具有给定路径的节点上保留监视。手表将由在节点上设置数据的成功操作触发,或删除节点。
如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。
参数:
path
- 给定的路径
watch
- 是否需要观看此节点
stat
- 节点的统计信息
返回:
节点的数据
抛出:
KeeperException
- 如果服务器用非零错误代码发出错误信号
InterruptedException
- 如果服务器事务中断。
public void getData(String path,
Watcher watcher,
AsyncCallback.DataCallback cb,
Object ctx)
getData的异步版本。在调用异步回调之前,请求实际上并不存在。
也可以看看:
getData(String, Watcher, Stat)
public void getData(String path,
布尔表,
AsyncCallback.DataCallback cb,
Object ctx)
getData的异步版本。在调用异步回调之前,请求实际上并不存在。
也可以看看:
getData(String, boolean, Stat)
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
- 如果指定了无效路径
public void setData(String path,
byte []数据,
int版本,
AsyncCallback.StatCallback cb,
Object ctx)
setData的异步版本。在调用异步回调之前,请求实际上并不存在。
也可以看看:
setData(String, byte[], int)
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)
public List < String > getChildren(String path,
Watcher watcher)
抛出KeeperException,
InterruptedException
返回给定路径的节点的子节点列表。
如果监视非空并且调用成功(不抛出任何异常),则将在具有给定路径的节点上保留监视。手表将由成功的操作触发,该操作删除给定路径的节点或在节点下创建/删除子节点。
返回的子项列表未进行排序,并且不保证其自然或词汇顺序。
如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。
参数:
path
-
watcher
- 明确的观察者
返回:
具有给定路径的节点的无序子节点数组
抛出:
InterruptedException
- 如果服务器事务中断。
KeeperException
- 如果服务器用非零错误代码发出错误信号。
IllegalArgumentException
- 如果指定了无效路径
public List < String > getChildren(String path,
布尔表)
抛出KeeperException,
InterruptedException
返回给定路径的节点的子节点列表。
如果监视为真并且调用成功(不会抛出异常),则会在具有给定路径的节点上保留监视。手表将由成功的操作触发,该操作删除给定路径的节点或在节点下创建/删除子节点。
返回的子项列表未进行排序,并且不保证其自然或词汇顺序。
如果不存在具有给定路径的节点,则将抛出带有错误代码KeeperException.NoNode的KeeperException。
参数:
path
-
watch
-
返回:
具有给定路径的节点的无序子节点数组
抛出:
InterruptedException
- 如果服务器事务中断。
KeeperException
- 如果服务器用非零错误代码发出错误信号。
public void getChildren(String path,
Watcher watcher,
AsyncCallback.ChildrenCallback cb,
Object ctx)
getChildren的异步版本。在调用异步回调之前,请求实际上并不存在。
也可以看看:
getChildren(String, Watcher)
public void getChildren(String path,
布尔表,
AsyncCallback.ChildrenCallback cb,
Object ctx)
getChildren的异步版本。在调用异步回调之前,请求实际上并不存在。
也可以看看:
getChildren(String, boolean)
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
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
public void getChildren(String path,
Watcher watcher,
AsyncCallback.Children2Callback cb,
Object ctx)
getChildren的异步版本。在调用异步回调之前,请求实际上并不存在。
以来:
3.3.0
也可以看看:
getChildren(String, Watcher, Stat)
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
- 如果指定了无效路径
public ZooKeeper.States getState()
public String toString()
此ZooKeeper客户端的字符串表示形式。适合伐木等。不要指望这个字符串的格式,它可能会在没有警告的情况下改变。
覆盖:
toString
在班上 Object
以来:
3.3.0
转载来源:http://zookeeper.apache.org/doc/r3.3.2/api/org/apache/zookeeper/ZooKeeper.html