Class LocalCache<K,V>
- java.lang.Object
-
- com.tangosol.coherence.jcache.AbstractCoherenceBasedCache<K,V,LocalCacheConfiguration<K,V>>
-
- com.tangosol.coherence.jcache.localcache.LocalCache<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 LocalCache<K,V> extends AbstractCoherenceBasedCache<K,V,LocalCacheConfiguration<K,V>>
An in-process local cache implementation of aCache
based on a Coherence <local-cache>.- Since:
- Coherence 12.1.3
- Author:
- jf 2013.12.17, bko 2013.12.17
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LocalCache.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 LocalCache(CoherenceBasedCacheManager manager, String sJCacheName, LocalCacheConfiguration<K,V> configuration)
Constructs aLocalCache
configured byLocalCacheConfiguration
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
boolean
containsKey(K key)
void
deregisterCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> config)
void
destroy()
Destroys aCoherenceBasedCache
due to a request from aCoherenceBasedCacheManager
.void
dispatch(CoherenceCacheEventEventDispatcher<K,V> dispatcher)
dispatch outstanding JCache EventsV
get(K key)
Map<K,V>
getAll(Set<? extends K> setKey)
V
getAndPut(K key, V value)
V
getAndRemove(K key)
V
getAndReplace(K key, V value)
JCacheContext
getContext()
Get the JCache context for this JCache's operationsJCacheIdentifier
getIdentifier()
Obtain the internal identifier used for JCache caches.InternalConverter<K>
getKeyConverter()
Get key converter for this.javax.cache.management.CacheMXBean
getMBean()
Get JMX Bean associated with Cache.CopyOnWriteArraySet<CoherenceCacheEntryListenerRegistration<K,V>>
getRegisteredAsynchronousEventListeners()
Get asynchronous CacheEntryEventListeners.CopyOnWriteArraySet<CoherenceCacheEntryListenerRegistration<K,V>>
getRegisteredSynchronousEventListeners()
Get synchronous CacheEntryEventListeners.JCacheStatistics
getStatistics()
Get JCache statistics.InternalConverter<V>
getValueConverter()
Get value converter for this.<T> T
invoke(K key, javax.cache.processor.EntryProcessor<K,V,T> proc, 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)
boolean
isStatisticsEnabled()
Get JCache Statistics statusIterator<javax.cache.Cache.Entry<K,V>>
iterator()
void
loadAll(Set<? extends K> setKeys, boolean fReplaceExistingValues, javax.cache.integration.CompletionListener listener)
void
onBeforeClosing()
Closes aCoherenceBasedCache
at the request of a call toCache.close()
.void
processExpiries(K key, CoherenceCacheEventEventDispatcher<K,V> dispatcher)
Process expiry for entry of key.void
processExpiries(K keyExpired, V valueExpired, CoherenceCacheEventEventDispatcher<K,V> dispatcher)
Dispatch an ExpiryEvent to registered CacheEntryListeners.void
put(K key, V value)
void
putAll(Map<? extends K,? extends V> map)
boolean
putIfAbsent(K key, V value)
void
registerCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> config)
boolean
remove(K key)
boolean
remove(K key, V value)
void
removeAll()
void
removeAll(Set<? extends K> keys)
boolean
replace(K key, V value)
boolean
replace(K key, V valueOrig, V value)
void
setManagementEnabled(boolean fEnabled)
Set JCache Management status.void
setStatisticsEnabled(boolean fEnabled)
Set JCache statistics statusString
toString()
-
Methods inherited from class com.tangosol.coherence.jcache.AbstractCoherenceBasedCache
close, ensureOpen, getCacheManager, getClassLoader, 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
-
LocalCache
public LocalCache(CoherenceBasedCacheManager manager, String sJCacheName, LocalCacheConfiguration<K,V> configuration)
Constructs aLocalCache
configured byLocalCacheConfiguration
.- Parameters:
manager
- theCoherenceBasedCacheManager
that created theLocalCache
sJCacheName
- the JCache Name for theLocalCache
configuration
- theLocalCacheConfiguration
for theLocalCache
-
-
Method Detail
-
onBeforeClosing
public void onBeforeClosing()
Description copied from class:AbstractCoherenceBasedCache
Closes aCoherenceBasedCache
at the request of a call toCache.close()
.- Specified by:
onBeforeClosing
in classAbstractCoherenceBasedCache<K,V,LocalCacheConfiguration<K,V>>
-
getStatistics
public JCacheStatistics getStatistics()
Get JCache statistics.- Specified by:
getStatistics
in classAbstractCoherenceBasedCache<K,V,LocalCacheConfiguration<K,V>>
- Returns:
JCacheStatistics
if enabled, null otherwise
-
isStatisticsEnabled
public boolean isStatisticsEnabled()
Description copied from class:AbstractCoherenceBasedCache
Get JCache Statistics status- Specified by:
isStatisticsEnabled
in classAbstractCoherenceBasedCache<K,V,LocalCacheConfiguration<K,V>>
- Returns:
- true if enabled, otherwise false
-
setStatisticsEnabled
public void setStatisticsEnabled(boolean fEnabled)
Description copied from class:AbstractCoherenceBasedCache
Set JCache statistics status- Specified by:
setStatisticsEnabled
in classAbstractCoherenceBasedCache<K,V,LocalCacheConfiguration<K,V>>
- Parameters:
fEnabled
- true to enable
-
setManagementEnabled
public void setManagementEnabled(boolean fEnabled)
Description copied from class:AbstractCoherenceBasedCache
Set JCache Management status.- Specified by:
setManagementEnabled
in classAbstractCoherenceBasedCache<K,V,LocalCacheConfiguration<K,V>>
- Parameters:
fEnabled
- true to enable
-
getMBean
public javax.cache.management.CacheMXBean getMBean()
Description copied from class:AbstractCoherenceBasedCache
Get JMX Bean associated with Cache.- Specified by:
getMBean
in classAbstractCoherenceBasedCache<K,V,LocalCacheConfiguration<K,V>>
- Returns:
- JMX Bean
-
getRegisteredSynchronousEventListeners
public CopyOnWriteArraySet<CoherenceCacheEntryListenerRegistration<K,V>> getRegisteredSynchronousEventListeners()
Get synchronous CacheEntryEventListeners.- Returns:
- synchronous CacheEntryEventListenerRegistrations
-
getRegisteredAsynchronousEventListeners
public CopyOnWriteArraySet<CoherenceCacheEntryListenerRegistration<K,V>> getRegisteredAsynchronousEventListeners()
Get asynchronous CacheEntryEventListeners.- Returns:
- asynchronous CacheEntryEventListenerRegistrations
-
processExpiries
public void processExpiries(K key, CoherenceCacheEventEventDispatcher<K,V> dispatcher)
Process expiry for entry of key. Dispatch ExpiryEvent(s) to dispatcher.- Parameters:
key
- key of entry to be expired.dispatcher
- dispatcher for ExpiryEvent.
-
processExpiries
public void processExpiries(K keyExpired, V valueExpired, CoherenceCacheEventEventDispatcher<K,V> dispatcher)
Dispatch an ExpiryEvent to registered CacheEntryListeners.- Parameters:
keyExpired
- key of expired entryvalueExpired
- value of expired entrydispatcher
- dispatch EXPIRED CacheEntryEvent to registered listeners of this cache.
-
getContext
public JCacheContext getContext()
Get the JCache context for this JCache's operations- Returns:
- JCacheContext
-
getKeyConverter
public InternalConverter<K> getKeyConverter()
Get key converter for this.- Returns:
- keyConverter
-
getValueConverter
public InternalConverter<V> getValueConverter()
Get value converter for this.- Returns:
- valueConverter value converter for this.
-
dispatch
public void dispatch(CoherenceCacheEventEventDispatcher<K,V> dispatcher)
dispatch outstanding JCache Events- Parameters:
dispatcher
- outstanding JCache events
-
containsKey
public boolean containsKey(K key)
-
loadAll
public void loadAll(Set<? extends K> setKeys, boolean fReplaceExistingValues, javax.cache.integration.CompletionListener listener)
-
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> proc, 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)
-
getIdentifier
public JCacheIdentifier getIdentifier()
Description copied from interface:CoherenceBasedCache
Obtain the internal identifier used for JCache caches.- Specified by:
getIdentifier
in interfaceCoherenceBasedCache<K,V>
- Specified by:
getIdentifier
in classAbstractCoherenceBasedCache<K,V,LocalCacheConfiguration<K,V>>
- Returns:
- the internal
JCacheIdentifier
-
destroy
public void destroy()
Description copied from interface:CoherenceBasedCache
Destroys aCoherenceBasedCache
due to a request from aCoherenceBasedCacheManager
.
-
-