CreateMode表示znode的创建模式,也可以说是znode的类型,共有以下7种类型。
1.PERSISTENT
持久节点,即使创建此znode的client与zookeeper断开连接,该znode也会存在。
2.PERSISTENT_SEQUENTIAL
持久顺序节点,即使创建此znode的client与zookeeper断开连接,该znode也会存在。与PERSISTENT不同的是,此种类型的znode名称会被附加一个单调递增的数字。比如两次创建/znode/abc,则实际生成的znode为/znode/abc1和/znode/abc2。
3.EPHEMERAL
临时节点,当创建此znode的client与zookeeper断开连接,该znode会被删除。
4.EPHEMERAL_SEQUENTIAL
临时节点顺序节点,与EPHEMERAL不同的是,此种类型的znode名称会被附加一个单调递增的数字。
5.CONTAINER
container节点是一个特殊用途的节点,对于诸如leader、lock等非常有用。当容器的最后一个子对象被删除时,该容器将成为将来某个时候由服务器删除的候选对象。有了这种属性,当在container节点内部创建子节点时,需要准备捕获org.apache.zookeeper.KeeperException.NoNodeException异常。
6.PERSISTENT_WITH_TTL
带有过期时间的持久节点,如果该znode在给定的TTL时间内未被修改,且该节点无子节点,则该znode会被删除。
7.PERSISTENT_SEQUENTIAL_WITH_TTL
带有过期时间的持久顺序节点,与PERSISTENT_WITH_TTL不同的是,创建此种znode的名称后面会附加单调递增的数字。