Package org.apache.pulsar.zookeeper
Class ZooKeeperDataCache<T>
- java.lang.Object
-
- org.apache.pulsar.zookeeper.ZooKeeperDataCache<T>
-
- Type Parameters:
T-
- All Implemented Interfaces:
ZooKeeperCache.CacheUpdater<T>,ZooKeeperCache.Deserializer<T>,org.apache.zookeeper.Watcher
public abstract class ZooKeeperDataCache<T> extends java.lang.Object implements ZooKeeperCache.Deserializer<T>, ZooKeeperCache.CacheUpdater<T>, org.apache.zookeeper.Watcher
Provides a generic cache for reading objects stored in zookeeper. Maintains the objects already serialized in memory and sets watches to receive changes notifications.
-
-
Constructor Summary
Constructors Constructor Description ZooKeeperDataCache(ZooKeeperCache cache)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Only for UTs (for now), as this clears the whole ZK data cache.voidclose()java.util.Optional<T>get(java.lang.String path)Return an item from the cache If node doens't exist, the value will be not present.sjava.util.concurrent.CompletableFuture<java.util.Optional<T>>getAsync(java.lang.String path)TgetDataIfPresent(java.lang.String path)java.util.Optional<java.util.Map.Entry<T,org.apache.zookeeper.data.Stat>>getWithStat(java.lang.String path)java.util.concurrent.CompletableFuture<java.util.Optional<java.util.Map.Entry<T,org.apache.zookeeper.data.Stat>>>getWithStatAsync(java.lang.String path)voidinvalidate(java.lang.String path)voidprocess(org.apache.zookeeper.WatchedEvent event)voidregisterListener(ZooKeeperCacheListener<T> listener)voidreloadCache(java.lang.String path)voidunregisterListener(ZooKeeperCacheListener<T> listener)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.pulsar.zookeeper.ZooKeeperCache.Deserializer
deserialize
-
-
-
-
Constructor Detail
-
ZooKeeperDataCache
public ZooKeeperDataCache(ZooKeeperCache cache)
-
-
Method Detail
-
getAsync
public java.util.concurrent.CompletableFuture<java.util.Optional<T>> getAsync(java.lang.String path)
-
getWithStatAsync
public java.util.concurrent.CompletableFuture<java.util.Optional<java.util.Map.Entry<T,org.apache.zookeeper.data.Stat>>> getWithStatAsync(java.lang.String path)
-
get
public java.util.Optional<T> get(java.lang.String path) throws java.lang.Exception
Return an item from the cache If node doens't exist, the value will be not present.s- Parameters:
path-- Returns:
- Throws:
java.lang.Exception
-
getWithStat
public java.util.Optional<java.util.Map.Entry<T,org.apache.zookeeper.data.Stat>> getWithStat(java.lang.String path) throws java.lang.Exception
- Throws:
java.lang.Exception
-
clear
public void clear()
Only for UTs (for now), as this clears the whole ZK data cache.
-
invalidate
public void invalidate(java.lang.String path)
-
reloadCache
public void reloadCache(java.lang.String path)
- Specified by:
reloadCachein interfaceZooKeeperCache.CacheUpdater<T>
-
registerListener
public void registerListener(ZooKeeperCacheListener<T> listener)
- Specified by:
registerListenerin interfaceZooKeeperCache.CacheUpdater<T>
-
unregisterListener
public void unregisterListener(ZooKeeperCacheListener<T> listener)
- Specified by:
unregisterListenerin interfaceZooKeeperCache.CacheUpdater<T>
-
process
public void process(org.apache.zookeeper.WatchedEvent event)
- Specified by:
processin interfaceorg.apache.zookeeper.Watcher
-
getDataIfPresent
public T getDataIfPresent(java.lang.String path)
-
close
public void close()
-
-