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 Detail

      • 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:
        Constant Field Values
    • Constructor Detail

      • 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 Detail

      • 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)