com.ibm.websphere.cache
Interface DistributedNioMap
All known implementing classes:
- public interface DistributedNioMap
Method Summary
Modifier and Type | Method and Description |
---|---|
|
addAlias(java.lang.Object key,java.lang.Object[] aliasArray)
Adds an alias for the given key in the cache's mapping table.
|
|
addChangeListener(ChangeListener listener)
addChangeListener - adds a change listener for this DistributedMap.
|
|
addInvalidationListener(InvalidationListener listener)
addInvalidationListener - adds an invalidation listener for this DistributeMap.
|
|
addPreInvalidationListener(PreInvalidationListener listener)
addPreInvalidationListener - adds a pre-invalidation listener for this DistributeMap.
|
|
clear()
Removes all mappings from this DistributedNioMap.
|
|
containsKey(java.lang.Object key,boolean includeDiskCache)
Returns true if this map contains mapping for the specified key.
|
|
enableListener(boolean enable)
enableListener - enable or disable the invalidation and change listener support.
|
getCacheEntry(java.lang.Object key)
Returns the cache entry which maps the specified key.
|
|
|
invalidate(java.lang.Object key)
Invalidates the given key.
|
|
invalidate(java.lang.Object key,boolean wait)
Invalidates the given key.
|
|
invalidate(java.lang.Object key,boolean wait,boolean checkPreInvalidationListener)
invalidate - invalidates the given key.
|
|
isEmpty(boolean includeDiskCache)
Returns true if this map contains no key-value mappings.
|
|
put(java.lang.Object key,java.lang.Object value,java.lang.Object userMetaData,int priority,int timeToLive,int inactivityTime,int sharingPolicy,java.lang.Object[] dependencyIds,java.lang.Object[] alias)
Associates the specified value with the specified key in this map.
|
|
put(java.lang.Object key,java.lang.Object value,java.lang.Object userMetaData,int priority,int timeToLive,int inactivityTime,int sharingPolicy,java.lang.Object[] dependencyIds,java.lang.Object[] alias,boolean skipMemoryAndWriteToDisk)
Associates the specified value with the specified key in this map.
|
|
put(java.lang.Object key,java.lang.Object value,java.lang.Object userMetaData,int priority,int timeToLive,int sharingPolicy,java.lang.Object[] dependencyIds,java.lang.Object[] alias)
Associates the specified value with the specified key in this map.
|
putAndGet(java.lang.Object key,java.lang.Object value,java.lang.Object userMetaData,int priority,int timeToLive,int inactivityTime,int sharingPolicy,java.lang.Object[] dependencyIds,java.lang.Object[] alias)
Associates the specified value with the specified key in this map.
|
|
putAndGet(java.lang.Object key,java.lang.Object value,java.lang.Object userMetaData,int priority,int timeToLive,int sharingPolicy,java.lang.Object[] dependencyIds,java.lang.Object[] alias)
Associates the specified value with the specified key in this map.
|
|
|
releaseLruEntries(int numOfEntries)
Use this method to release LRU cache entries (regular objects or ByteByffers/MetaData).
|
|
removeAlias(java.lang.Object alias)
Removes an alias from the cache's mapping table.
|
|
removeChangeListener(ChangeListener listener)
removeChangeListener - removes a change listener for this DistributedMap.
|
|
removeInvalidationListener(InvalidationListener listener)
removeInvalidationListener - removes an invalidation listener for this DistributedMap.
|
|
removePreInvalidationListener(PreInvalidationListener listener)
removePreInvalidationListener - removes a pre-invalidation listener for this DistributedMap.
|
|
size(boolean includeDiskCache)
Returns the total number of key-value mappings.
|
Method Detail
getCacheEntry
- CacheEntry getCacheEntry(java.lang.Object key)
Parameters:
key
- key whose associated value is to be returned. Returns:
the cache entry to which maps the specified key, or
null
if the specified key does not exist or the
cache entry is in invalidated state. Throws:
java.lang.ClassCastException
- if the key is not of an inappropriate type for
this map. (Currently supports only type String) java.lang.NullPointerException
- key is null
and this map does not
not permit null
keys. put
- void put(java.lang.Object key,
- java.lang.Object value,
- java.lang.Object userMetaData,
- int priority,
- int timeToLive,
- int sharingPolicy,
- java.lang.Object[] dependencyIds,
- java.lang.Object[] alias)
Associates the specified value with the specified key in this map.
If specified key does not exists, put new cache entry to cache's mapping
table. If specified key exists, replaces the old cache entry in cache's
mapping table with new one and then delete the old cache entry after
reference count becomes zero.
Parameters:
key
- key with which the specified value is to be associated. value
- value to be associated with the specified key. userMetaData
- userMetaData for the cache entry. priority
- the priority value for the cache entry. entries
with higher priority will remain in the cache longer
than those with a lower priority in the case of cache
overflow. timeToLive
- the time in seconds that the cache entry should remain
in the cache sharingPolicy
- how the cache entry should be shared in a cluster.
values are EntryInfo.NOT_SHARED, EntryInfo.SHARED_PUSH,
and EntryInfo.SHARED_PUSH_PULL. dependencyIds
- an optional set of dependency ids to associate with
the cache entry alias
- an optional set of alias ids to associate with the cache entry Throws:
java.lang.UnsupportedOperationException
- if the put
operation is
not supported by this map. java.lang.ClassCastException
- if the class of the specified key or value
prevents it from being stored in this map. java.lang.IllegalArgumentException
- if some aspect of this key or value
prevents it from being stored in this map. java.lang.NullPointerException
- this map does not permit null
keys or values, and the specified key or value is
null
. See Also:
put
- void put(java.lang.Object key,
- java.lang.Object value,
- java.lang.Object userMetaData,
- int priority,
- int timeToLive,
- int inactivityTime,
- int sharingPolicy,
- java.lang.Object[] dependencyIds,
- java.lang.Object[] alias)
Associates the specified value with the specified key in this map.
If specified key does not exists, put new cache entry to cache's mapping
table. If specified key exists, replaces the old cache entry in cache's
mapping table with new one and then delete the old cache entry after
reference count becomes zero.
Parameters:
key
- key with which the specified value is to be associated. value
- value to be associated with the specified key. userMetaData
- userMetaData for the cache entry. priority
- the priority value for the cache entry. entries
with higher priority will remain in the cache longer
than those with a lower priority in the case of cache
overflow. timeToLive
- the time in seconds that the cache entry should remain
in the cache inactivityTime
- the time in seconds that a cache entry should remain in
the cache if not accessed. inactivityTime is reset to 0
every time an entry is accessed. sharingPolicy
- how the cache entry should be shared in a cluster.
values are EntryInfo.NOT_SHARED, EntryInfo.SHARED_PUSH,
and EntryInfo.SHARED_PUSH_PULL. dependencyIds
- an optional set of dependency ids to associate with
the cache entry alias
- an optional set of alias ids to associate with the cache entry Throws:
java.lang.UnsupportedOperationException
- if the put
operation is
not supported by this map. java.lang.ClassCastException
- if the class of the specified key or value
prevents it from being stored in this map. java.lang.IllegalArgumentException
- if some aspect of this key or value
prevents it from being stored in this map. java.lang.NullPointerException
- this map does not permit null
keys or values, and the specified key or value is
null
. See Also:
put
- void put(java.lang.Object key,
- java.lang.Object value,
- java.lang.Object userMetaData,
- int priority,
- int timeToLive,
- int inactivityTime,
- int sharingPolicy,
- java.lang.Object[] dependencyIds,
- java.lang.Object[] alias,
- boolean skipMemoryAndWriteToDisk)
- throws com.ibm.websphere.cache.exception.DynamicCacheException
Associates the specified value with the specified key in this map.
If specified key does not exists, put new cache entry to cache's mapping
table. If specified key exists, replaces the old cache entry in cache's
mapping table with new one and then delete the old cache entry after
reference count becomes zero.
Parameters:
key
- key with which the specified value is to be associated. value
- value to be associated with the specified key. userMetaData
- userMetaData for the cache entry. priority
- the priority value for the cache entry. entries
with higher priority will remain in the cache longer
than those with a lower priority in the case of cache
overflow. timeToLive
- the time in seconds that the cache entry should remain
in the cache inactivityTime
- the time in seconds that a cache entry should remain in
the cache if not accessed. inactivityTime is reset to 0
every time an entry is accessed. sharingPolicy
- how the cache entry should be shared in a cluster.
values are EntryInfo.NOT_SHARED, EntryInfo.SHARED_PUSH,
and EntryInfo.SHARED_PUSH_PULL. If skipMemoryAndWriteToDisk is
set to true, the sharing policy will be set to "not-shared". dependencyIds
- an optional set of dependency ids to associate with
the cache entry alias
- an optional set of alias ids to associate with the cache entry skipMemoryAndWriteToDisk
- if true, the cache entry will not put in the memory cache but
written to disk cache directly. When getting the entry
from the disk cache, the entry will not be promoted to the memory
cache instead it will be passed it to the caller. In addition,
the entry will not be replicated to other servers. The sharing
policy will be set to "not-shared". Throws:
java.lang.UnsupportedOperationException
- if the put
operation is
not supported by this map. java.lang.ClassCastException
- if the class of the specified key or value
prevents it from being stored in this map. java.lang.IllegalArgumentException
- if some aspect of this key or value
prevents it from being stored in this map. java.lang.NullPointerException
- this map does not permit null
keys or values, and the specified key or value is
null
. com.ibm.websphere.cache.exception.DynamicCacheException
- When skipMemoryAndWriteToDisk is set to true, the following
exceptions which extend DynamicCacheException can occur:
(1) DiskOffloadNotEnabledException
The code detects that the disk offload feature for cache instance
is not enabled. The put operation is aborted.
(2) DiskIOException
The code detects an unrecoverable disk IO exception when putting
cache entry to the disk. The disk offload feature will be disabled.
(3) DiskSizeOverLimitException
The code detects out of disk space or the disk cache size has reached
the limit of diskCacheSizeInGB. The put operation is aborted.
(4) SerializationException
The code detects a serialization exception when serializing the cache
entry. The put operation is aborted.
(5) DiskSizeInEntriesOverLimitException
The disk cache size in entries has reached the limit of diskCacheSize.
The put operation is aborted.
(6) DiskCacheEntrySizeOverLimitException
The disk cache entry size has reached the limit of diskCacheEntrySizeInMB.
The put operation is aborted.
(7) MiscellaneousException
The code detects a runtime exception other than a disk IO exception.
The put operation is aborted. See Also:
DistributedNioMapObject
,
DiskOffloadNotEnabledException
,
DiskIOException
,
DiskSizeOverLimitException
,
SerializationException
,
DiskSizeInEntriesOverLimitException
,
DiskCacheEntrySizeOverLimitException
,
MiscellaneousException
putAndGet
- CacheEntry putAndGet(java.lang.Object key,
- java.lang.Object value,
- java.lang.Object userMetaData,
- int priority,
- int timeToLive,
- int sharingPolicy,
- java.lang.Object[] dependencyIds,
- java.lang.Object[] alias)
Associates the specified value with the specified key in this map.
If specified key does not exists, put new cache entry to cache's mapping
table. If specified key exists, replaces the old cache entry in cache's
mapping table with new one and then delete the old cache entry after
reference count becomes zero.
Parameters:
key
- key with which the specified value is to be associated. value
- value to be associated with the specified key. userMetaData
- userMetaData for the cache entry. priority
- the priority value for the cache entry. entries
with higher priority will remain in the cache longer
than those with a lower priority in the case of cache
overflow. timeToLive
- the time in seconds that the cache entry should remain
in the cache sharingPolicy
- how the cache entry should be shared in a cluster.
values are EntryInfo.NOT_SHARED, EntryInfo.SHARED_PUSH,
and EntryInfo.SHARED_PUSH_PULL. dependencyIds
- an optional set of dependency ids to associate with
the cache entry alias
- an optional set of alias ids to associate with the cache entry Returns:
The newly created CacheEntry. You must call
CacheEntry.finish() when you are finished
using the entry.
Throws:
java.lang.UnsupportedOperationException
- if the put
operation is
not supported by this map. java.lang.ClassCastException
- if the class of the specified key or value
prevents it from being stored in this map. java.lang.IllegalArgumentException
- if some aspect of this key or value
prevents it from being stored in this map. java.lang.NullPointerException
- this map does not permit null
keys or values, and the specified key or value is
null
. See Also:
putAndGet
- CacheEntry putAndGet(java.lang.Object key,
- java.lang.Object value,
- java.lang.Object userMetaData,
- int priority,
- int timeToLive,
- int inactivityTime,
- int sharingPolicy,
- java.lang.Object[] dependencyIds,
- java.lang.Object[] alias)
Associates the specified value with the specified key in this map.
If specified key does not exists, put new cache entry to cache's mapping
table. If specified key exists, replaces the old cache entry in cache's
mapping table with new one and then delete the old cache entry after
reference count becomes zero.
Parameters:
key
- key with which the specified value is to be associated. value
- value to be associated with the specified key. userMetaData
- userMetaData for the cache entry. priority
- the priority value for the cache entry. entries
with higher priority will remain in the cache longer
than those with a lower priority in the case of cache
overflow. timeToLive
- the time in seconds that the cache entry should remain
in the cache inactivityTime
- the time in seconds that a cache entry should remain in
the cache if not accessed. inactivityTime is reset to 0
every time an entry is accessed. sharingPolicy
- how the cache entry should be shared in a cluster.
values are EntryInfo.NOT_SHARED, EntryInfo.SHARED_PUSH,
and EntryInfo.SHARED_PUSH_PULL. dependencyIds
- an optional set of dependency ids to associate with
the cache entry alias
- an optional set of alias ids to associate with the cache entry Returns:
The newly created CacheEntry. You must call
CacheEntry.finish() when you are finished
using the entry.
Throws:
java.lang.UnsupportedOperationException
- if the put
operation is
not supported by this map. java.lang.ClassCastException
- if the class of the specified key or value
prevents it from being stored in this map. java.lang.IllegalArgumentException
- if some aspect of this key or value
prevents it from being stored in this map. java.lang.NullPointerException
- this map does not permit null
keys or values, and the specified key or value is
null
. See Also:
invalidate
- void invalidate(java.lang.Object key,
- boolean wait,
- boolean checkPreInvalidationListener)
invalidate - invalidates the given key. If the key is
for a specific cache entry, then only that object is
invalidated. If the key is for a dependency id, then
all objects that share that dependency id will be
invalidated.
Parameters:
key
- the key which will be invalidated wait
- if true, then the method will not complete until the invalidation
has occured. if false, then the invalidation will occur in batch mode checkPreInvalidationListener
- if true, first check with PreInvalidationListener to see
if invalidation should occur. If false, bypass this check
and invalidate immediately. See Also:
invalidate
- void invalidate(java.lang.Object key,
- boolean wait)
Invalidates the given key. If the key is
for a specific cache entry, then only that object is
invalidated. If the key is for a dependency id, then
all objects that share that dependency id will be
invalidated.
Parameters:
key
- the key which will be invalidated wait
- if true, then the method will not complete until the invalidation
has occured. if false, then the invalidation will occur in batch mode invalidate
- void invalidate(java.lang.Object key)
Invalidates the given key. If the key is
for a specific cache entry, then only that object is
invalidated. If the key is for a dependency id, then
all objects that share that dependency id will be
invalidated. This method is the same as
using invalidate(key, true).
Parameters:
key
- the key which will be invalidated clear
- void clear()
Removes all mappings from this DistributedNioMap.
addAlias
- void addAlias(java.lang.Object key,
- java.lang.Object[] aliasArray)
Adds an alias for the given key in the cache's mapping table. If the alias is already
associated with another key, it will be changed to associate with the new key.
Parameters:
key
- the key assoicated with alias aliasArray
- the alias to use for lookups Throws:
java.lang.IllegalArgumentException
- if the key is not in the cache's mapping table. removeAlias
- void removeAlias(java.lang.Object alias)
Removes an alias from the cache's mapping table.
Parameters:
alias
- the alias to move out of the cache's mapping table releaseLruEntries
- void releaseLruEntries(int numOfEntries)
Use this method to release LRU cache entries (regular objects or ByteByffers/MetaData).
Parameters:
numOfEntries
- the number of cache entries to be released size
- int size(boolean includeDiskCache)
Returns the total number of key-value mappings. Returns size of memory map plus disk map if includeDiskCache is
true. Returns size of memory map size if includeDiskCache is false.
Parameters:
includeDiskCache
- true to get the size of the memory and disk maps; false to get the size of memory map. Returns:
the number of key-value mappings in this map.
isEmpty
- boolean isEmpty(boolean includeDiskCache)
Returns true if this map contains no key-value mappings. Checks both memory and disk maps if includeDiskCache
is true. Check only memory cache if includeDiskCache is false.
Parameters:
includeDiskCache
- true to check the memory and disk maps; false to check the memory map. Returns:
true if this map contains no key-value mappings.
containsKey
- boolean containsKey(java.lang.Object key,
- boolean includeDiskCache)
Returns true if this map contains mapping for the specified key. Checks both memory and disk map if includeDiskCache
is true. Check only memory map if includeDiskCache is false.
Parameters:
key
- whose presence in this map is to be tested. includeDiskCache
- true to check the specified key contained in the memory or disk maps; false to check the specified key contained in the memory map. Returns:
true if this map contains a mapping for the specified key.
enableListener
- boolean enableListener(boolean enable)
enableListener - enable or disable the invalidation and change listener support.
You must call enableListener(true) before calling addInvalidationListner() or addChangeListener().
Parameters:
enable
- - true to enable support for invalidation and change listeners
or false to disable support for invalidation and change listeners Returns:
boolean "true" means listener support was successfully enabled or disabled.
"false" means this DistributedMap is configurated to use the listener's J2EE context for
event notification and the callback registration failed. In this case, the caller's thread
context will be used for event notification.
addInvalidationListener
- boolean addInvalidationListener( InvalidationListener listener)
addInvalidationListener - adds an invalidation listener for this DistributeMap.
Parameters:
listener
- the invalidation listener object Returns:
boolean "true" means the invalidation listener was successfully added.
"false" means either the passed listener object is null or listener support is not enable.
See Also:
removeInvalidationListener
- boolean removeInvalidationListener( InvalidationListener listener)
removeInvalidationListener - removes an invalidation listener for this DistributedMap.
Parameters:
listener
- the invalidation listener object Returns:
boolean "true" means the invalidation listener was successfully removed.
"false" means either passed listener object is null or listener support is not enable.
See Also:
addChangeListener
- boolean addChangeListener(ChangeListener listener)
addChangeListener - adds a change listener for this DistributedMap.
Parameters:
listener
- the change listener object Returns:
boolean "true" means the change listener was successfully added.
"false" means either the passed listener object is null or listener support is not enable.
See Also:
removeChangeListener
- boolean removeChangeListener(ChangeListener listener)
removeChangeListener - removes a change listener for this DistributedMap.
Parameters:
listener
- the change listener object Returns:
boolean "true" means the change listener was successfully removed.
"false" means either passed listener object is null or listener support is not enable.
See Also:
addPreInvalidationListener
- boolean addPreInvalidationListener( PreInvalidationListener listener)
addPreInvalidationListener - adds a pre-invalidation listener for this DistributeMap. If
one already exists, this method will over-write it.
Parameters:
listener
- the pre-invalidation listener object Returns:
boolean "true" means the pre-invalidation listener was successfully added.
"false" means either the passed listener object is null or listener support is not enabled.
See Also:
removePreInvalidationListener
- boolean removePreInvalidationListener( PreInvalidationListener listener)
removePreInvalidationListener - removes a pre-invalidation listener for this DistributedMap.
Parameters:
listener
- the invalidation listener object Returns:
boolean "true" means the pre-invalidation listener was successfully removed.
"false" means either passed listener object is null or listener support is not enabled.
See Also:
null
if specified key does not exist in cache's mapping table or the cache entry is in invalidated state.You must call CacheEntry.finish() when you are finished using the entry. This will release resources associated with this CacheEntry.