K
- the type of the cache entry keysV
- the type of the cache entry valuespublic interface NamedCache<K,V> extends ObservableMap<K,V>, CacheMap<K,V>, ConcurrentMap<K,V>, QueryMap<K,V>, InvocableMap<K,V>
QueryMap.Entry<K,V>
InvocableMap.Entry<K,V>, InvocableMap.EntryAggregator<K,V,R>, InvocableMap.EntryProcessor<K,V,R>, InvocableMap.ParallelAwareAggregator<K,V,P,R>, InvocableMap.StreamingAggregator<K,V,P,R>
EXPIRY_DEFAULT, EXPIRY_NEVER
LOCK_ALL
Modifier and Type | Method and Description |
---|---|
default AsyncNamedCache<K,V> |
async()
Return an asynchronous wrapper for this NamedCache.
|
void |
clear()
Removes all mappings from this map.
|
void |
destroy()
Release and destroy this instance of NamedCache.
|
String |
getCacheName()
Return the cache name.
|
CacheService |
getCacheService()
Return the CacheService that this NamedCache is a part of.
|
boolean |
isActive()
Specifies whether or not the NamedCache is active.
|
V |
put(K key, V value, long cMillis)
Associates the specified value with the specified key in this cache and allows to specify an expiry for the cache entry.
|
void |
release()
Release local resources associated with this instance of NamedCache.
|
default void |
truncate()
Removes all mappings from this map.
|
addMapListener, addMapListener, addMapListener, removeMapListener, removeMapListener, removeMapListener
compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
containsKey, containsValue, get, isEmpty, lock, lock, put, putAll, remove, size, unlock
addIndex, entrySet, entrySet, forEach, forEach, keySet, removeIndex, values, values
aggregate, aggregate, aggregate, compute, compute, computeIfAbsent, computeIfAbsent, computeIfPresent, computeIfPresent, getOrDefault, invoke, invokeAll, invokeAll, invokeAll, merge, merge, putIfAbsent, remove, replace, replace, replaceAll, replaceAll, replaceAll, replaceAll, stream, stream, stream, stream, stream, stream
String getCacheName()
CacheService getCacheService()
boolean isActive()
void release()
Releasing a cache makes it no longer usable, but does not affect the cache itself. In other words, all other references to the cache will still be valid, and the cache data is not affected by releasing the reference. Any attempt to use this reference afterward will result in an exception.
Caches should be released by the same mechanism in which they were obtained. For example:
The purpose for releasing a cache is to allow the cache implementation to release the ClassLoader used to deserialize items in the cache. The cache implementation ensures that all references to that ClassLoader are released. This implies that objects in the cache that were loaded by that ClassLoader will be re-serialized to release their hold on that ClassLoader. The result is that the ClassLoader can be garbage-collected by Java in situations where the cache is operating in an application server and applications are dynamically loaded and unloaded.
void destroy()
Warning: This method is used to completely destroy the specified cache across the cluster. All references in the entire cluster to this cache will be invalidated, the cached data will be cleared, and all internal resources will be released.
Caches should be destroyed by the same mechanism in which they were obtained. For example:
V put(K key, V value, long cMillis)
Note: Though NamedCache interface extends CacheMap
, not all implementations currently support this functionality.
For example, if a cache is configured to be a replicated, optimistic or distributed cache then its backing map must be configured as a local cache. If a cache is configured to be a near cache then the front map must to be configured as a local cache and the back map must support this feature as well, typically by being a distributed cache backed by a local cache (as above.)
put
in interface CacheMap<K,V>
key
- key with which the specified value is to be associatedvalue
- value to be associated with the specified keycMillis
- the number of milliseconds until the cache entry will expire, also referred to as the entry's "time to live"; pass CacheMap.EXPIRY_DEFAULT
to use the cache's default time-to-live setting; pass CacheMap.EXPIRY_NEVER
to indicate that the cache entry should never expire; this milliseconds value is not a date/time value, such as is returned from System.currentTimeMillis()UnsupportedOperationException
- if the requested expiry is a positive value and the implementation does not support expiry of cache entriesvoid clear()
Note: invoking the clear()
operation against a distributed cache can be both a memory and CPU intensive task and therefore is generally not recommended. Either truncate()
or destroy()
operations may be suitable alternatives.
default void truncate()
Note: the removal of entries caused by this truncate operation will not be observable. This includes any registered listeners
, triggers
, or interceptors
. However, a CacheLifecycleEvent
is raised to notify subscribers of the execution of this operation.
UnsupportedOperationException
- if the server does not support the truncate operationdefault AsyncNamedCache<K,V> async()