Skip navigation links

Oracle® Coherence Java API Reference
Release 12.1.2.0.3

E26043-02


com.tangosol.net.partition
Class ReadWriteSplittingBackingMap

java.lang.Object
  extended by java.util.AbstractMap
      extended by com.tangosol.net.cache.ReadWriteBackingMap
          extended by com.tangosol.net.partition.ReadWriteSplittingBackingMap

All Implemented Interfaces:
CacheMap, PartitionAwareBackingMap, ObservableMap, java.util.Map

public class ReadWriteSplittingBackingMap
extends ReadWriteBackingMap
implements PartitionAwareBackingMap

A PartitionAwareBackingMap extension to the ReadWriteBackingMap.

Since:
Coherence 3.5
Author:
cp 2009-01-09

Nested Class Summary

 

Nested classes/interfaces inherited from class com.tangosol.net.cache.ReadWriteBackingMap
ReadWriteBackingMap.BinaryEntryStoreWrapper, ReadWriteBackingMap.CacheLoaderCacheStore, ReadWriteBackingMap.CacheStoreWrapper, ReadWriteBackingMap.Entry, ReadWriteBackingMap.EntrySet, ReadWriteBackingMap.EvictingBackupMap, ReadWriteBackingMap.InternalMapListener, ReadWriteBackingMap.KeySet, ReadWriteBackingMap.ReadLatch, ReadWriteBackingMap.ReadQueue, ReadWriteBackingMap.ReadThread, ReadWriteBackingMap.StoreWrapper, ReadWriteBackingMap.ValuesCollection, ReadWriteBackingMap.WriteQueue, ReadWriteBackingMap.WriteThread

 

Nested classes/interfaces inherited from class java.util.AbstractMap
java.util.AbstractMap.SimpleEntry, java.util.AbstractMap.SimpleImmutableEntry

 

Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry

 

Field Summary

 

Fields inherited from class com.tangosol.net.cache.ReadWriteBackingMap
BIN_STORE_PENDING, GUARD_RECOVERY, m_listenerSupport, MIN_REQUEUE_DELAY, NO_VALUE

 

Fields inherited from interface com.tangosol.net.cache.CacheMap
EXPIRY_DEFAULT, EXPIRY_NEVER

 

Constructor Summary
ReadWriteSplittingBackingMap(BackingMapManagerContext ctxService, PartitionAwareBackingMap mapInternal, java.util.Map mapMisses, BinaryEntryStore storeBinary, boolean fReadOnly, int cWriteBehindSeconds, double dflRefreshAheadFactor)
          Construct a ReadWriteSplittingBackingMap based on a BinaryEntryStore.
ReadWriteSplittingBackingMap(BackingMapManagerContext ctxService, PartitionAwareBackingMap mapInternal, java.util.Map mapMisses, CacheLoader loader, boolean fReadOnly, int cWriteBehindSeconds, double dflRefreshAheadFactor)
          Construct a ReadWriteSplittingBackingMap based on a CacheStore.

 

Method Summary
 void createPartition(int nPid)
          Add a partition to the PartitionAwareBackingMap.
 void destroyPartition(int nPid)
          Remove a partition from the PartitionAwareBackingMap.
 BackingMapManager getBackingMapManager()
          Obtain the BackingMapManager that this PartitionAwareBackingMap uses to instantiate and release backing maps.
 java.lang.String getName()
          Determine the name of the cache for which this PartitionAwareBackingMap exists.
 PartitionAwareBackingMap getPartitionAwareBackingMap()
          Obtain the PartitionAwareBackingMap that this ReadWriteBackingMap uses as its backing map.
 java.util.Map getPartitionMap(int nPid)
          Obtain a Map view for the data in a specific partition.
 java.util.Map getPartitionMap(PartitionSet partitions)
          Obtain a Map view for the data in a specific set of partitions.

 

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, getReadQueue, getReadThread, getRefreshAheadFactor, getSyntheticEventsMap, getWriteBatchFactor, getWriteBehindMillis, getWriteBehindSeconds, getWriteMaxBatchSize, getWriteQueue, getWriteRequeueThreshold, getWriteThread, hashCode, heartbeat, instantiateCacheLoaderCacheStore, instantiateCacheStoreWrapper, instantiateCacheStoreWrapper, instantiateControlMap, instantiateEntry, instantiateEntry, instantiateEntrySet, instantiateInternalListener, instantiateKeySet, instantiateReadLatch, instantiateReadQueue, instantiateReadThread, instantiateValuesCollection, instantiateWriteQueue, instantiateWriteThread, isActive, isReadOnly, isRefreshAhead, isRethrowExceptions, isWriteBehind, isWriteThrough, keySet, put, put, putInternal, putToInternalCache, putToInternalCache, putToInternalCache, release, remove, removeFromWriteQueue, removeInternal, removeMapListener, removeMapListener, removeMapListener, setCacheStoreTimeoutMillis, setRefreshAheadFactor, setRethrowExceptions, setWriteBatchFactor, setWriteBehindMillis, setWriteBehindSeconds, setWriteMaxBatchSize, setWriteRequeueThreshold, size, terminateReadThread, terminateWriteThread, toString, values, waitFor

 

Methods inherited from class java.util.AbstractMap
clone, isEmpty, putAll

 

Methods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values

 

Constructor Detail

ReadWriteSplittingBackingMap

public ReadWriteSplittingBackingMap(BackingMapManagerContext ctxService,
                                    PartitionAwareBackingMap mapInternal,
                                    java.util.Map mapMisses,
                                    CacheLoader loader,
                                    boolean fReadOnly,
                                    int cWriteBehindSeconds,
                                    double dflRefreshAheadFactor)
Construct a ReadWriteSplittingBackingMap based on a CacheStore.
Parameters:
ctxService - the context provided by the CacheService which is using this backing map
mapInternal - the PartitionAwareBackingMap used to store the data internally in this backing map; it must implement the ObservableMap interface
mapMisses - the Map used to cache CacheStore misses (optional)
loader - the CacheLoader responsible for the persistence of the cached data (optional)
fReadOnly - pass true is the specified loader is in fact a CacheStore that needs to be used only for read operations; changes to the cache will not be persisted
cWriteBehindSeconds - number of seconds to write if there is a CacheStore; zero disables write-behind caching, which (combined with !fReadOnly) implies write-through
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

ReadWriteSplittingBackingMap

public ReadWriteSplittingBackingMap(BackingMapManagerContext ctxService,
                                    PartitionAwareBackingMap mapInternal,
                                    java.util.Map mapMisses,
                                    BinaryEntryStore storeBinary,
                                    boolean fReadOnly,
                                    int cWriteBehindSeconds,
                                    double dflRefreshAheadFactor)
Construct a ReadWriteSplittingBackingMap based on a BinaryEntryStore.
Parameters:
ctxService - the context provided by the CacheService which is using this backing map
mapInternal - the PartitionAwareBackingMap used to store the data internally in this backing map; it must implement the ObservableMap interface
mapMisses - the Map used to cache CacheStore misses (optional)
storeBinary - the BinaryEntryStore responsible for the persistence of the cached data (optional)
fReadOnly - pass true is the specified loader is in fact a CacheStore that needs to be used only for read operations; changes to the cache will not be persisted
cWriteBehindSeconds - number of seconds to write if there is a CacheStore; zero disables write-behind caching, which (combined with !fReadOnly) implies write-through
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

Method Detail

getBackingMapManager

public BackingMapManager getBackingMapManager()
Obtain the BackingMapManager that this PartitionAwareBackingMap uses to instantiate and release backing maps.
Specified by:
getBackingMapManager in interface PartitionAwareBackingMap
Returns:
the BackingMapManager

getName

public java.lang.String getName()
Determine the name of the cache for which this PartitionAwareBackingMap exists.
Specified by:
getName in interface PartitionAwareBackingMap
Returns:
the cache name

createPartition

public void createPartition(int nPid)
Add a partition to the PartitionAwareBackingMap.
Specified by:
createPartition in interface PartitionAwareBackingMap
Parameters:
nPid - the partition id that the PartitionAwareBackingMap will be responsible for, starting at this instant

destroyPartition

public void destroyPartition(int nPid)
Remove a partition from the PartitionAwareBackingMap.
Specified by:
destroyPartition in interface PartitionAwareBackingMap
Parameters:
nPid - the partition id that the PartitionAwareBackingMap will no longer be responsible for, starting at this instant

getPartitionMap

public java.util.Map getPartitionMap(int nPid)
Obtain a Map view for the data in a specific partition.
Specified by:
getPartitionMap in interface PartitionAwareBackingMap
Parameters:
nPid - the partition ID
Returns:
the backing map (or null if that partition is not owned)

getPartitionMap

public java.util.Map getPartitionMap(PartitionSet partitions)
Obtain a Map view for the data in a specific set of partitions.
Specified by:
getPartitionMap in interface PartitionAwareBackingMap
Parameters:
partitions - the masking PartitionSet
Returns:
a read-only view into a subset of backing maps

getPartitionAwareBackingMap

public PartitionAwareBackingMap getPartitionAwareBackingMap()
Obtain the PartitionAwareBackingMap that this ReadWriteBackingMap uses as its backing map.
Returns:
the internal cache as a PartitionAwareBackingMap

Skip navigation links

Oracle® Coherence Java API Reference
Release 12.1.2.0.3

E26043-02


Copyright © 2000, 2014, Oracle and/or its affiliates. All rights reserved.