Interface AdvancedCacheLoader<K,V>

All Superinterfaces:
CacheLoader<K,V>, Lifecycle
All Known Subinterfaces:
AdvancedLoadWriteStore<K,V>, SegmentedAdvancedLoadWriteStore<K,V>
All Known Implementing Classes:
AbstractSegmentedAdvancedLoadWriteStore, ComposedSegmentedLoadWriteStore

@ThreadSafe @Deprecated(forRemoval=true) public interface AdvancedCacheLoader<K,V> extends CacheLoader<K,V>
Deprecated, for removal: This API element is subject to removal in a future version.
since 11.0 replaced by NonBlockingStore
A specialised extension of the CacheLoader interface that allows processing parallel iteration over the existing entries.
Since:
6.0
Author:
Mircea Markus
  • Method Summary

    Modifier and Type
    Method
    Description
    org.reactivestreams.Publisher<MarshallableEntry<K,V>>
    entryPublisher(Predicate<? super K> filter, boolean fetchValue, boolean fetchMetadata)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Publishes all entries from this store.
    default org.reactivestreams.Publisher<K>
    publishKeys(Predicate<? super K> filter)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Publishes all the keys from this store.
    int
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns the number of elements in the store.

    Methods inherited from interface org.infinispan.persistence.spi.CacheLoader

    contains, init, isAvailable, loadEntry

    Methods inherited from interface org.infinispan.commons.api.Lifecycle

    start, stop
  • Method Details

    • size

      int size()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns the number of elements in the store.
      Throws:
      PersistenceException - in case of an error, e.g. communicating with the external storage
    • publishKeys

      default org.reactivestreams.Publisher<K> publishKeys(Predicate<? super K> filter)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Publishes all the keys from this store. The given publisher can be used by as many Subscribers as desired. Keys are not retrieved until a given Subscriber requests them from the Subscription.

      Stores will return only non expired keys

      Parameters:
      filter - a filter - null is treated as allowing all entries
      Returns:
      a publisher that will provide the keys from the store
    • entryPublisher

      org.reactivestreams.Publisher<MarshallableEntry<K,V>> entryPublisher(Predicate<? super K> filter, boolean fetchValue, boolean fetchMetadata)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Publishes all entries from this store. The given publisher can be used by as many Subscribers as desired. Entries are not retrieved until a given Subscriber requests them from the Subscription.

      If fetchMetadata is true this store must guarantee to not return any expired entries.

      Parameters:
      filter - a filter - null is treated as allowing all entries
      fetchValue - whether or not to fetch the value from the persistent store. E.g. if the iteration is intended only over the key set, no point fetching the values from the persistent store as well
      fetchMetadata - whether or not to fetch the metadata from the persistent store. E.g. if the iteration is intended only ove the key set, then no point fetching the metadata from the persistent store as well
      Returns:
      a publisher that will provide the entries from the store