IOTXING

记录技术学习之路

0%

zookeeper源码学习-CreateMode

负责ZK节点的创建

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
* 持久节点
*/
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);

CreateMode

1
2
3
4
5
6
7
CreateMode(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; //是否有超时时间
}