同步和异步调用
对于zookeeper的所有API调用都提供了正常的同步调用和异步调用两种类型的调用接口,比如zookeeper创建某个目录节点的接口为例:
同步调用接口:
String create(final String path, byte data[], List<ACL> acl,
CreateMode createMode)
异步调用接口:
void create(finalString path,bytedata[],List<ACL> acl,
CreateMode createMode, StringCallback cb, Object ctx)
--很明显异步调用接口比同步调用接口多了两个参数StringCallback cb,Object ctx,其中最关键的是参数StringCallbackcb,这是异步调用回调入口的依赖对象。使用例子如下
zk.create(ZNODE_NAME,"mymaster20882".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.EPHEMERAL, myStringCallBack, "enroll master");
StringCallback myStringCallBack = new StringCallback(){
@Override
public voidprocessResult(