Package com.tangosol.net.cache
Class VersionedBackingMap
- java.lang.Object
-
- java.util.AbstractMap
-
- com.tangosol.net.cache.ReadWriteBackingMap
-
- com.tangosol.net.cache.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 implementationBacking 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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
VersionedBackingMap.CacheStoreWrapper
Deprecated.A wrapper around the original CacheStore to allow operations to be overridden and extended.protected class
VersionedBackingMap.InternalMapListener
Deprecated.A MapListener implementation that listens to the internal cache and routes those events to anyone listening to this VersionedBackingMap.-
Nested classes/interfaces inherited from class com.tangosol.net.cache.ReadWriteBackingMap
ReadWriteBackingMap.BinaryEntryStoreWrapper, ReadWriteBackingMap.CacheLoaderCacheStore, ReadWriteBackingMap.Entry, ReadWriteBackingMap.EntrySet, ReadWriteBackingMap.EvictingBackupMap, ReadWriteBackingMap.KeySet, ReadWriteBackingMap.NonBlockingEntryStoreWrapper, ReadWriteBackingMap.ReadLatch, ReadWriteBackingMap.ReadQueue, ReadWriteBackingMap.ReadThread, ReadWriteBackingMap.StoreWrapper, ReadWriteBackingMap.ValuesCollection, ReadWriteBackingMap.WriteQueue, ReadWriteBackingMap.WriteThread
-
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object,V extends Object>
-
-
Field Summary
Fields Modifier and Type Field Description static 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.-
Fields inherited from class com.tangosol.net.cache.ReadWriteBackingMap
BIN_STORE_PENDING, GUARD_RECOVERY, m_listenerSupport, MIN_REQUEUE_DELAY, REMOVED
-
Fields inherited from interface com.tangosol.net.cache.CacheMap
EXPIRY_DEFAULT, EXPIRY_NEVER
-
-
Constructor Summary
Constructors Constructor Description VersionedBackingMap(BackingMapManagerContext ctxService, ObservableMap mapInternal, Map mapMisses, CacheLoader loader, NamedCache mapVersionTransient, NamedCache mapVersionPersist, boolean fManageTransient)
Deprecated.Construct a VersionedBackingMap using a CacheLoader object.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.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description 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).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).protected ReadWriteBackingMap.CacheStoreWrapper
instantiateCacheStoreWrapper(CacheStore store)
Deprecated.Factory pattern: Instantiate a CacheStore wrapper around the passed CacheStore.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.boolean
isManagingTransientVersion()
Deprecated.Determine if this backing map is responsible for keeping the transient version cache in sync.protected void
updatePersistentVersion(Object oKey, Comparable ver)
Deprecated.Update the persistent version of the specified key.protected void
updateTransientVersion(Object oKey, Comparable ver)
Deprecated.Update the transient version of the specified key.-
Methods inherited from class com.tangosol.net.cache.ReadWriteBackingMap
addMapListener, addMapListener, addMapListener, cancelOutstandingReads, clear, configureCacheStore, configureInternalCache, configureReadThread, configureWriteThread, containsKey, containsValue, entrySet, equals, extractExpiry, flush, flush, get, getAll, getCachedOrPending, getCacheService, getCacheStore, getCacheStoreTimeoutMillis, getContext, getControlMap, getFromInternalCache, getInternalCache, getInternalConfigurableCache, getInternalListener, getMissesCache, getPendingWrites, getReadQueue, getReadThread, getRefreshAheadFactor, getSyntheticEventsMap, getWriteBatchFactor, getWriteBehindMillis, getWriteBehindSeconds, getWriteMaxBatchSize, getWriteQueue, getWriteRequeueThreshold, getWriteThread, hashCode, heartbeat, instantiateCacheLoaderCacheStore, instantiateCacheStoreWrapper, instantiateCacheStoreWrapper, instantiateControlMap, instantiateEntry, instantiateEntry, instantiateEntrySet, instantiateKeySet, instantiateReadLatch, instantiateReadQueue, instantiateReadThread, instantiateValuesCollection, instantiateWriteQueue, instantiateWriteThread, isActive, isReadOnly, isRefreshAhead, isRethrowExceptions, isWriteBehind, isWriteThrough, keySet, put, put, putAll, putInternal, putToInternalCache, putToInternalCache, putToInternalCache, putToInternalMap, release, remove, removeAll, removeFromWriteQueue, removeInternal, removeMapListener, removeMapListener, removeMapListener, setCacheName, setCacheStoreTimeoutMillis, setRefreshAheadFactor, setRethrowExceptions, setWriteBatchFactor, setWriteBehindMillis, setWriteBehindSeconds, setWriteMaxBatchSize, setWriteRequeueThreshold, size, terminateReadThread, terminateWriteThread, toString, updateThreadName, values, waitFor
-
Methods inherited from class java.util.AbstractMap
clone, isEmpty
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, isEmpty, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
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 mapmapInternal
- the ObservableMap used to store the data internally in this backing mapmapMisses
- 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 memorymapVersionPersist
- (optional) a replicated cache of versions of the cached data as it was written to the CacheStorefManageTransient
- 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 mapmapInternal
- the ObservableMap used to store the data internally in this backing mapmapMisses
- 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 operationscWriteBehindSeconds
- 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 ofLocalCache
(optional)mapVersionTransient
- (optional) a replicated cache of versions of the cached data as it is in memorymapVersionPersist
- (optional) a replicated cache of versions of the cached data as it was written to the CacheStorefManageTransient
- 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 classReadWriteBackingMap
- 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 classReadWriteBackingMap
- 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") formatver
- 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") formatver
- 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)
-
-