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
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
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
Deprecated.A wrapper around the original CacheStore to allow operations to be overridden and extended.protected class
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,
V>, AbstractMap.SimpleImmutableEntry<K, V> -
Field Summary
Modifier and TypeFieldDescriptionstatic final long
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
ConstructorDescriptionVersionedBackingMap
(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
Modifier and TypeMethodDescriptionDeprecated.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).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
Deprecated.Factory pattern: Instantiate a CacheStore wrapper around the passed CacheStore.protected MapListener
Deprecated.Factory pattern: Create a MapListener that listens to the internal cache and routes those events to anyone listening to this VersionedBackingMap.boolean
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 Details
-
MAX_LOCK_WAIT
public static final long MAX_LOCK_WAITDeprecated.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 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 Details
-
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
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
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
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
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
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)
-