Class PartitionedCache<K,V>
- java.lang.Object
-
- com.tangosol.coherence.jcache.AbstractCoherenceBasedCache<K,V,PartitionedCacheConfiguration<K,V>>
-
- com.tangosol.coherence.jcache.partitionedcache.PartitionedCache<K,V>
-
- Type Parameters:
K- key typeV- value type
- All Implemented Interfaces:
CoherenceBasedCache<K,V>,Closeable,AutoCloseable,Iterable<javax.cache.Cache.Entry<K,V>>,javax.cache.Cache<K,V>
public class PartitionedCache<K,V> extends AbstractCoherenceBasedCache<K,V,PartitionedCacheConfiguration<K,V>>
JCache of Key, Value pairs implemented over distributed cache.- Since:
- Coherence 12.1.3
- Author:
- jf 2013.07.07
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPartitionedCache.EntryIterator<K,V>JCache Entry iterator
-
Field Summary
-
Fields inherited from class com.tangosol.coherence.jcache.AbstractCoherenceBasedCache
m_configuration, m_manager, m_namedCache, m_sJCacheName
-
Fields inherited from interface com.tangosol.coherence.jcache.CoherenceBasedCache
JCACHE_CONFIG_BACK_SCHEME_NAME, JCACHE_CONFIG_BACK_SCHEME_SERVICE_NAME, JCACHE_CONFIG_CACHE_NAME, JCACHE_CONFIG_SCHEME_NAME, JCACHE_CONFIG_SERVICE_NAME, JCACHE_EXTEND_PROXY_SERVICE_NAME, JCACHE_EXTEND_SCHEME_NAME, JCACHE_EXTEND_SERVICE_NAME, JCACHE_LOCAL_CACHE_NAME_PATTERN, JCACHE_LOCAL_CACHE_NAME_PREFIX, JCACHE_LOCAL_SCHEME_NAME, JCACHE_LOCAL_SERVICE_NAME, JCACHE_PARTITIONED_CACHE_NAME_PATTERN, JCACHE_PARTITIONED_CACHE_NAME_PREFIX, JCACHE_PARTITIONED_SCHEME_NAME, JCACHE_PARTITIONED_SERVICE_NAME, JCACHE_REMOTE_SCHEME
-
-
Constructor Summary
Constructors Constructor Description PartitionedCache(CoherenceBasedCacheManager manager, String sJCacheName, PartitionedCacheConfiguration<K,V> configuration)Constructs aPartitionedCacheconfigured byPartitionedCacheConfigurationin context ofCoherenceBasedCacheManagerwith JCache namesJCacheName.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()booleancontainsKey(K key)voidderegisterCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> config)voiddestroy()Destroys aCoherenceBasedCachedue to a request from aCoherenceBasedCacheManager.static voiddestroyCache(CoherenceBasedCacheManager mgr, JCacheIdentifier id)Destroy a partitioned cache when there is no PartitionedCache object.static voiddestroyCache(CoherenceBasedCacheManager mgr, JCacheIdentifier id, NamedCache namedCache)Destroy a partitioned cache.Vget(K key)Map<K,V>getAll(Set<? extends K> setKey)VgetAndPut(K key, V value)VgetAndRemove(K key)VgetAndReplace(K key, V value)protected ClassLoadergetClassLoader()get class loader for this CacheJCacheContextgetContext()Return currentJCacheContextJCacheIdentifiergetIdentifier()Obtain the internal identifier used for JCache caches.javax.cache.management.CacheMXBeangetMBean()Get JMX Management Bean.protected CopyOnWriteArraySet<CoherenceCacheEntryListenerRegistration<K,V>>getRegisteredAsynchronousEventListeners()get asynchronous CacheEntryListenerRegistrationsprotected CopyOnWriteArraySet<CoherenceCacheEntryListenerRegistration<K,V>>getRegisteredSynchronousEventListeners()get synchronous CacheEntryListenerRegistrationsJCacheStatisticsgetStatistics()Get JCache statistics<T> Tinvoke(K key, javax.cache.processor.EntryProcessor<K,V,T> entryProcessor, Object... arguments)<T> Map<K,javax.cache.processor.EntryProcessorResult<T>>invokeAll(Set<? extends K> setKey, javax.cache.processor.EntryProcessor<K,V,T> proc, Object... arguments)booleanisStatisticsEnabled()Get JCache Statistics statusIterator<javax.cache.Cache.Entry<K,V>>iterator()voidloadAll(Set<? extends K> setKey, boolean fReplaceExistingValues, javax.cache.integration.CompletionListener listener)voidonBeforeClosing()Closes aCoherenceBasedCacheat the request of a call toCache.close().voidput(K key, V value)voidputAll(Map<? extends K,? extends V> map)voidputAll(Map<? extends K,? extends V> map, boolean fReplaceExistingValues, boolean fUseWriteThrough)booleanputIfAbsent(K key, V value)voidregisterCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> config)booleanremove(K key)booleanremove(K key, V value)voidremoveAll()voidremoveAll(Set<? extends K> keys)booleanreplace(K key, V value)booleanreplace(K key, V valueOrig, V value)voidsetManagementEnabled(boolean fEnabled)Sets management enablementvoidsetStatisticsEnabled(boolean fEnabled)Sets m_statsprotected voidsubmit(Runnable task)Requests aFutureTaskto be performed.StringtoString()-
Methods inherited from class com.tangosol.coherence.jcache.AbstractCoherenceBasedCache
close, ensureOpen, getCacheManager, getConfiguration, getName, isClosed, unwrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
PartitionedCache
public PartitionedCache(CoherenceBasedCacheManager manager, String sJCacheName, PartitionedCacheConfiguration<K,V> configuration)
Constructs aPartitionedCacheconfigured byPartitionedCacheConfigurationin context ofCoherenceBasedCacheManagerwith JCache namesJCacheName.- Parameters:
manager- CacheManager manages the created PartitionedCache.sJCacheName- JCache cache name that must be unique withinCoherenceBasedCacheManagercontextconfiguration- JCache cache configuration
-
-
Method Detail
-
getIdentifier
public JCacheIdentifier getIdentifier()
Description copied from interface:CoherenceBasedCacheObtain the internal identifier used for JCache caches.- Specified by:
getIdentifierin interfaceCoherenceBasedCache<K,V>- Specified by:
getIdentifierin classAbstractCoherenceBasedCache<K,V,PartitionedCacheConfiguration<K,V>>- Returns:
- the internal
JCacheIdentifier
-
destroy
public void destroy()
Description copied from interface:CoherenceBasedCacheDestroys aCoherenceBasedCachedue to a request from aCoherenceBasedCacheManager.
-
containsKey
public boolean containsKey(K key)
-
loadAll
public void loadAll(Set<? extends K> setKey, boolean fReplaceExistingValues, javax.cache.integration.CompletionListener listener)
-
putAll
public void putAll(Map<? extends K,? extends V> map, boolean fReplaceExistingValues, boolean fUseWriteThrough)
- Parameters:
map- mapfReplaceExistingValues- if false, do not update existing valuesfUseWriteThrough- is writer-through enabled
-
remove
public boolean remove(K key)
-
removeAll
public void removeAll()
-
clear
public void clear()
-
invoke
public <T> T invoke(K key, javax.cache.processor.EntryProcessor<K,V,T> entryProcessor, Object... arguments)
-
invokeAll
public <T> Map<K,javax.cache.processor.EntryProcessorResult<T>> invokeAll(Set<? extends K> setKey, javax.cache.processor.EntryProcessor<K,V,T> proc, Object... arguments)
-
registerCacheEntryListener
public void registerCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> config)
-
deregisterCacheEntryListener
public void deregisterCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> config)
-
getMBean
public javax.cache.management.CacheMXBean getMBean()
Get JMX Management Bean.- Specified by:
getMBeanin classAbstractCoherenceBasedCache<K,V,PartitionedCacheConfiguration<K,V>>- Returns:
- JMX Management bean
-
getStatistics
public JCacheStatistics getStatistics()
Get JCache statistics- Specified by:
getStatisticsin classAbstractCoherenceBasedCache<K,V,PartitionedCacheConfiguration<K,V>>- Returns:
- JCache statistics when enabled, return null when not enabled.
-
onBeforeClosing
public void onBeforeClosing()
Description copied from class:AbstractCoherenceBasedCacheCloses aCoherenceBasedCacheat the request of a call toCache.close().- Specified by:
onBeforeClosingin classAbstractCoherenceBasedCache<K,V,PartitionedCacheConfiguration<K,V>>
-
isStatisticsEnabled
public boolean isStatisticsEnabled()
Description copied from class:AbstractCoherenceBasedCacheGet JCache Statistics status- Specified by:
isStatisticsEnabledin classAbstractCoherenceBasedCache<K,V,PartitionedCacheConfiguration<K,V>>- Returns:
- true if enabled, otherwise false
-
getClassLoader
protected ClassLoader getClassLoader()
get class loader for this Cache- Overrides:
getClassLoaderin classAbstractCoherenceBasedCache<K,V,PartitionedCacheConfiguration<K,V>>- Returns:
- a classloader
-
submit
protected void submit(Runnable task)
Requests aFutureTaskto be performed.- Parameters:
task- theFutureTaskto be performed
-
getRegisteredSynchronousEventListeners
protected CopyOnWriteArraySet<CoherenceCacheEntryListenerRegistration<K,V>> getRegisteredSynchronousEventListeners()
get synchronous CacheEntryListenerRegistrations- Returns:
- a thread-safe set of CacheEntryListenerRegistrations that are all synchronous listeners.
-
getRegisteredAsynchronousEventListeners
protected CopyOnWriteArraySet<CoherenceCacheEntryListenerRegistration<K,V>> getRegisteredAsynchronousEventListeners()
get asynchronous CacheEntryListenerRegistrations- Returns:
- a thread-safe set of CacheEntryListenerRegistrations that are all asynchronous listeners.
-
setStatisticsEnabled
public void setStatisticsEnabled(boolean fEnabled)
Sets m_stats- Specified by:
setStatisticsEnabledin classAbstractCoherenceBasedCache<K,V,PartitionedCacheConfiguration<K,V>>- Parameters:
fEnabled- true to enable
-
setManagementEnabled
public void setManagementEnabled(boolean fEnabled)
Sets management enablement- Specified by:
setManagementEnabledin classAbstractCoherenceBasedCache<K,V,PartitionedCacheConfiguration<K,V>>- Parameters:
fEnabled- true if management should be fEnabled
-
getContext
public JCacheContext getContext()
Return currentJCacheContext- Returns:
JCacheContext
-
destroyCache
public static void destroyCache(CoherenceBasedCacheManager mgr, JCacheIdentifier id, NamedCache namedCache)
Destroy a partitioned cache.- Parameters:
mgr-CoherenceBasedCacheManagerid- PartitionedCache external cache namenamedCache- CoherenceNamedCache
-
destroyCache
public static void destroyCache(CoherenceBasedCacheManager mgr, JCacheIdentifier id)
Destroy a partitioned cache when there is no PartitionedCache object. This method removes leftover context such as mapping from JCache name to configuration and destroys outstanding NamedCache. Handles scenario where cache is created and closed in one jvm and discovered not destroyed in another jvm.- Parameters:
mgr-CoherenceBasedCacheManagerid- PartitionedCache external cache name
-
-