Class VersionedBackingMap

All Implemented Interfaces:
CacheMap, ObservableMap, Map

public class VersionedBackingMap extends ReadWriteBackingMap
Deprecated.
as of Coherence 3.2 all the functionality of this class has been superceded by the ReadWriteBackingMap implementation
Backing Map implementation that provides a size-limited cache of a persistent store and supports configurable write-behind caching. Additionally, this implementation supports a VersionedNearCache in front of the distributed cache, and manages version data caches to optimize the near cache without sacrificing data integrity.

This implementation does not support null keys or null values. The values stored in this Map must implement the Versionable interface.

Author:
cp 2002.10.20
  • Field Details

    • MAX_LOCK_WAIT

      public static final long MAX_LOCK_WAIT
      Deprecated.
      The length of time (in millis) to wait on a lock; keep this value low to avoid causing timing problems since some calls will be on the distributed cache thread.
      See Also:
  • Constructor Details

    • VersionedBackingMap

      public VersionedBackingMap(BackingMapManagerContext ctxService, ObservableMap mapInternal, Map mapMisses, CacheLoader loader, NamedCache mapVersionTransient, NamedCache mapVersionPersist, boolean fManageTransient)
      Deprecated.
      Construct a VersionedBackingMap using a CacheLoader object.
      Parameters:
      ctxService - the context provided by the CacheService which is using this backing map
      mapInternal - the ObservableMap used to store the data internally in this backing map
      mapMisses - the Map used to cache CacheLoader misses (optional)
      loader - the CacheLoader responsible for the persistence of the cached data (optional)
      mapVersionTransient - (optional) a replicated cache of versions of the cached data as it is in memory
      mapVersionPersist - (optional) a replicated cache of versions of the cached data as it was written to the CacheStore
      fManageTransient - if true, the backing map is responsible for keeping the transient version cache up to date; if false (as is the case when using the VersionedNearCache implementation), the backing map manages the transient version cache only for operations for which no other party is aware (such as entry expiry)
    • VersionedBackingMap

      public VersionedBackingMap(BackingMapManagerContext ctxService, ObservableMap mapInternal, Map mapMisses, CacheStore store, boolean fReadOnly, int cWriteBehindSeconds, double dflRefreshAheadFactor, NamedCache mapVersionTransient, NamedCache mapVersionPersist, boolean fManageTransient)
      Deprecated.
      Construct a VersionedBackingMap using a CacheStore object.
      Parameters:
      ctxService - the context provided by the CacheService which is using this backing map
      mapInternal - the ObservableMap used to store the data internally in this backing map
      mapMisses - the Map used to cache CacheStore misses (optional)
      store - the object responsible for the persistence of the cached data (optional)
      fReadOnly - pass true to use the CacheStore only for read operations
      cWriteBehindSeconds - number of seconds to write if there is a CacheStore; zero disables write-behind caching (optional)
      dflRefreshAheadFactor - the interval before an entry expiration time (expressed as a percentage of the internal cache expiration interval) during which an asynchronous load request for the entry will be scheduled; zero disables refresh-ahead; only applicable when the mapInternal parameter is an instance of LocalCache (optional)
      mapVersionTransient - (optional) a replicated cache of versions of the cached data as it is in memory
      mapVersionPersist - (optional) a replicated cache of versions of the cached data as it was written to the CacheStore
      fManageTransient - if true, the backing map is responsible for keeping the transient version cache up to date; if false (as is the case when using the VersionedNearCache implementation), the backing map manages the transient version cache only for operations for which no other party is aware (such as entry expiry)
  • Method Details

    • instantiateInternalListener

      protected MapListener instantiateInternalListener()
      Deprecated.
      Factory pattern: Create a MapListener that listens to the internal cache and routes those events to anyone listening to this VersionedBackingMap.
      Overrides:
      instantiateInternalListener in class ReadWriteBackingMap
      Returns:
      a new routing MapListener
    • instantiateCacheStoreWrapper

      protected ReadWriteBackingMap.CacheStoreWrapper instantiateCacheStoreWrapper(CacheStore store)
      Deprecated.
      Factory pattern: Instantiate a CacheStore wrapper around the passed CacheStore. (Supports CacheStore extension by delegation pattern.)
      Overrides:
      instantiateCacheStoreWrapper in class ReadWriteBackingMap
      Parameters:
      store - the CacheStore to wrap
      Returns:
      the CacheStoreWrapper that can supplement and override the operations of the supplied CacheStore
    • getPersistentVersionCache

      public NamedCache getPersistentVersionCache()
      Deprecated.
      Get the cache of version info for the data stored in the persistent store behind this backing map (and other related backing maps if this is backing a distributed cache).
      Returns:
      the NamedCache object that has a "last written" version entry for each key maintained in memory by this cache, or null if the version cache is not used
    • updatePersistentVersion

      protected void updatePersistentVersion(Object oKey, Comparable ver)
      Deprecated.
      Update the persistent version of the specified key.
      Parameters:
      oKey - the key in its external ("real") format
      ver - the new version to store; null implies remove
    • getTransientVersionCache

      public NamedCache getTransientVersionCache()
      Deprecated.
      Get the cache of version info for the data maintained in this backing map (and other related backing maps if this is backing a distributed cache).
      Returns:
      the NamedCache object that has a version entry for each key maintained in memory by this cache, or null if the version cache is not used
    • updateTransientVersion

      protected void updateTransientVersion(Object oKey, Comparable ver)
      Deprecated.
      Update the transient version of the specified key.
      Parameters:
      oKey - the key in its external ("real") format
      ver - the new version to store; null implies remove
    • isManagingTransientVersion

      public boolean isManagingTransientVersion()
      Deprecated.
      Determine if this backing map is responsible for keeping the transient version cache in sync.
      Returns:
      true if the backing map is the object that is maintaining the transient version cache; false if it is not (e.g. if the VersionedNearCache is being used)