zookeeper源码学习-CreateMode 发表于 2020-08-25 更新于 2021-03-25 阅读次数: 负责ZK节点的创建 123456789101112131415161718192021222324252627282930/** * 持久节点 */ PERSISTENT(0, false, false, false, false), /** * 有序持久节点,名称后缀会自增 */ PERSISTENT_SEQUENTIAL(2, false, true, false, false), /** * 临时节点,节点断开连接之后,会被删除 */ EPHEMERAL(1, true, false, false, false), /** * 临时有序节点。 */ EPHEMERAL_SEQUENTIAL(3, true, true, false, false), /** * 该节点类型主要是用作特殊用途,例如leader,或者lock。当节点的最后一个children被删除之后 * 该节点在未来就会被删除掉。当在该节点内部创建children的时候,应该准备捕获NoNodeException, * 因为parent节点可能已经被删除掉了 */ CONTAINER(4, false, false, true, false), /* * 如果某个节点没有了children,在经过了指定的时间之后还没有被修改,就会被删除掉 */ PERSISTENT_WITH_TTL(5, false, false, false, true), /** * 同上,只不过是有序的 */ PERSISTENT_SEQUENTIAL_WITH_TTL(6, false, true, false, true); CreateMode1234567CreateMode(int flag, boolean ephemeral, boolean sequential, boolean isContainer, boolean isTTL) { this.flag = flag; //标志位 this.ephemeral = ephemeral; //是否临时节点 this.sequential = sequential; //是否有序节点 this.isContainer = isContainer; //是否容器 this.isTTL = isTTL; //是否有超时时间 }