Recipe: Node Cache
Description
A Node Cache is used to watch a ZNode. Whenever the data is modified or the ZNode is deleted, the Node Cache will change its state to contain the current data (or null if ZNode was deleted).
Participating Classes
- NodeCache
- NodeCacheListener
- ChildData
Creating a NodeChildrenCache
// Parameters:
// client - the client
// path - path to cache
public NodeCache(CuratorFramework client, String path);
General Usage
The cache must be started by calling start(). Call close() when you are through with the cache.
At any time, call getCurrentData() to get the current state of the cache. You can also register to be notified when a change occurs by calling getListenable() and then:
// Add a change listener
// Parameters:
// listener - the listener
public void addListener(NodeCacheListener listener);
Error Handling
NodeCache instances internally monitor a ConnectionStateListener.