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 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 a CaffeineSpec.
      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:
      close in interface AutoCloseable
    • getOrCreateCachedEntry

      public <K, V> CompletableFuture<V> getOrCreateCachedEntry(K key, Function<K,CompletableFuture<V>> createEntryFunction)
      Specified by:
      getOrCreateCachedEntry in interface org.apache.pulsar.reactive.client.adapter.ProducerCacheProvider