zookeeper 原生创建节点,zk提供了两个构造函数,一个是同步请求,一个是异步请求。
-
public String create(String path, byte[] data, List acl, CreateMode createMode)
-
public void create(String path, byte[] data, List acl, CreateMode createMode, StringCallback cb, Object ctx)
通过提供的构造函数中,我们知道在创建节点时候,都需要提供四个相同的参数
- path 创建的节点名称
- data 节点数据
- acl 权限控制
- createMode 创建节点类型
对于这四个参数,1和2参数,我们看名字就知道传什么值,重点说下第四个参数,第三个参数是节点权限控制,比如说节点只读,或者是可读可写。
acl
zk提供了对应权限控制类
ZooDefs.Ids
public interface Ids {
Id ANYONE_ID_UNSAFE = new Id("world", "anyone");
Id AUTH_IDS = new Id("auth", "");
ArrayList<ACL> OPEN_ACL_UNSAFE = new ArrayList(Collections.singletonList(new ACL(31, ANYONE_ID_UNSAFE)));
ArrayList<ACL> CREATOR_ALL_ACL = new ArrayList(Collections.singletonList(new ACL(31