Class CaffeineProducerCacheProvider
java.lang.Object
org.apache.pulsar.reactive.client.producercache.CaffeineProducerCacheProvider
- All Implemented Interfaces:
AutoCloseable,org.apache.pulsar.reactive.client.adapter.ProducerCacheProvider
public class CaffeineProducerCacheProvider
extends Object
implements org.apache.pulsar.reactive.client.adapter.ProducerCacheProvider
Producer cache provider that uses a Caffeine
AsyncCache to cache entries.-
Constructor Summary
ConstructorsConstructorDescriptionConstructor for CaffeineProducerCacheProvider with default values.CaffeineProducerCacheProvider(com.github.benmanes.caffeine.cache.Caffeine<Object, Object> caffeineBuilder) Constructor for CaffeineProducerCacheProvider building the cache from a Caffeine cache builder.CaffeineProducerCacheProvider(com.github.benmanes.caffeine.cache.CaffeineSpec caffeineSpec) Constructor for CaffeineProducerCacheProvider building the cache from aCaffeineSpec. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()<K,V> CompletableFuture<V> getOrCreateCachedEntry(K key, Function<K, CompletableFuture<V>> createEntryFunction)
-
Constructor Details
-
CaffeineProducerCacheProvider
public CaffeineProducerCacheProvider()Constructor for CaffeineProducerCacheProvider with default values. -
CaffeineProducerCacheProvider
public CaffeineProducerCacheProvider(com.github.benmanes.caffeine.cache.CaffeineSpec caffeineSpec) Constructor for CaffeineProducerCacheProvider building the cache from aCaffeineSpec.- Parameters:
caffeineSpec- the Caffeine spec
-
CaffeineProducerCacheProvider
public CaffeineProducerCacheProvider(com.github.benmanes.caffeine.cache.Caffeine<Object, Object> caffeineBuilder) Constructor for CaffeineProducerCacheProvider building the cache from a Caffeine cache builder.- Parameters:
caffeineBuilder- the Caffeine cache builder
-
-
Method Details
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
getOrCreateCachedEntry
public <K,V> CompletableFuture<V> getOrCreateCachedEntry(K key, Function<K, CompletableFuture<V>> createEntryFunction) - Specified by:
getOrCreateCachedEntryin interfaceorg.apache.pulsar.reactive.client.adapter.ProducerCacheProvider
-