public class EnsurePath
extends java.lang.Object
Utility to ensure that a particular path is created.
The first time it is used, a synchronized call to ZKPaths.mkdirs(ZooKeeper, String)
is made to
ensure that the entire path has been created (with an empty byte array if needed). Subsequent
calls with the instance are un-synchronized NOPs.
Usage:
EnsurePath ensurePath = new EnsurePath(aFullPathToEnsure);
...
String nodePath = aFullPathToEnsure + "/foo";
ensurePath.ensure(zk); // first time syncs and creates if needed
zk.create(nodePath, ...);
...
ensurePath.ensure(zk); // subsequent times are NOPs
zk.create(nodePath, ...);
Constructor and Description |
---|
EnsurePath(java.lang.String path) |
Modifier and Type | Method and Description |
---|---|
void |
ensure(CuratorZookeeperClient client)
First time, synchronizes and makes sure all nodes in the path are created.
|
public EnsurePath(java.lang.String path)
path
- the full path to ensurepublic void ensure(CuratorZookeeperClient client) throws java.lang.Exception
client
- ZK clientjava.lang.Exception
- ZK errors