|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface AdvancedCache<K,V>
An advanced interface that exposes additional methods not available on Cache
.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface java.util.Map |
---|
Map.Entry<K,V> |
Method Summary | |
---|---|
void |
addInterceptor(CommandInterceptor i,
int position)
Adds a custom interceptor to the interceptor chain, at specified position, where the first interceptor in the chain is at position 0 and the last one at NUM_INTERCEPTORS - 1. |
boolean |
addInterceptorAfter(CommandInterceptor i,
Class<? extends CommandInterceptor> afterInterceptor)
Adds a custom interceptor to the interceptor chain, after an instance of the specified interceptor type. |
boolean |
addInterceptorBefore(CommandInterceptor i,
Class<? extends CommandInterceptor> beforeInterceptor)
Adds a custom interceptor to the interceptor chain, before an instance of the specified interceptor type. |
void |
applyDelta(K deltaAwareValueKey,
Delta delta,
Object... locksToAcquire)
Applies the given Delta to the DeltaAware object stored under deltaAwareValueKey if and only if all locksToAcquire locks are successfully obtained |
BatchContainer |
getBatchContainer()
Returns the component in charge of batching cache operations. |
ClassLoader |
getClassLoader()
Returns the cache loader associated associated with this cache. |
ComponentRegistry |
getComponentRegistry()
|
DataContainer |
getDataContainer()
Returns the container where data is stored in the cache. |
DistributionManager |
getDistributionManager()
Retrieves a reference to the DistributionManager if the cache is configured
to use Distribution. |
EvictionManager |
getEvictionManager()
|
List<CommandInterceptor> |
getInterceptorChain()
Retrieves the current Interceptor chain. |
InvocationContextContainer |
getInvocationContextContainer()
Returns the component in charge of managing the interactions between the cache operations and the context information associated with them. |
LockManager |
getLockManager()
Returns the component that deals with all aspects of acquiring and releasing locks for cache entries. |
RpcManager |
getRpcManager()
Returns the component in charge of communication with other caches in the cluster. |
Stats |
getStats()
Returns a Stats object that allows several statistics associated
with this cache at runtime. |
TransactionManager |
getTransactionManager()
Returns the transaction manager configured for this cache. |
XAResource |
getXAResource()
Returns the XAResource associated with this cache which can be
used to do transactional recovery. |
boolean |
lock(Collection<? extends K> keys)
Locks collections of keys eagerly across cache nodes in a cluster. |
boolean |
lock(K... keys)
Locks a given key or keys eagerly across cache nodes in a cluster. |
void |
removeInterceptor(Class<? extends CommandInterceptor> interceptorType)
Removes the interceptor of specified type. |
void |
removeInterceptor(int position)
Removes the interceptor at a specified position, where the first interceptor in the chain is at position 0 and the last one at getInterceptorChain().size() - 1. |
AdvancedCache<K,V> |
with(ClassLoader classLoader)
Using this operation, users can call any AdvancedCache operation
with a given ClassLoader . |
AdvancedCache<K,V> |
withFlags(Flag... flags)
A method that adds flags to any API call. |
Methods inherited from interface org.infinispan.Cache |
---|
compact, endBatch, entrySet, evict, getAdvancedCache, getCacheConfiguration, getCacheManager, getConfiguration, getStatus, keySet, putForExternalRead, startBatch, values |
Methods inherited from interface org.infinispan.api.BasicCache |
---|
clearAsync, getAsync, getName, getVersion, put, put, putAll, putAll, putAllAsync, putAllAsync, putAllAsync, putAsync, putAsync, putAsync, putIfAbsent, putIfAbsent, putIfAbsentAsync, putIfAbsentAsync, putIfAbsentAsync, removeAsync, removeAsync, replace, replace, replace, replace, replaceAsync, replaceAsync, replaceAsync, replaceAsync, replaceAsync, replaceAsync |
Methods inherited from interface java.util.concurrent.ConcurrentMap |
---|
putIfAbsent, remove, replace, replace |
Methods inherited from interface java.util.Map |
---|
clear, containsKey, containsValue, equals, get, hashCode, isEmpty, put, putAll, remove, size |
Methods inherited from interface org.infinispan.lifecycle.Lifecycle |
---|
start, stop |
Methods inherited from interface org.infinispan.notifications.Listenable |
---|
addListener, getListeners, removeListener |
Method Detail |
---|
AdvancedCache<K,V> withFlags(Flag... flags)
cache.withFlags(Flag.FORCE_WRITE_LOCK).get(key);will invoke a cache.get() with a write lock forced. Note that for the flag to take effect, the cache operation must be invoked on the instance returned by this method. As an alternative to setting this on every invocation, users could also consider using the
DecoratedCache
wrapper, as this allows for more readable
code. E.g.:
Cache forceWriteLockCache = new DecoratedCache(cache, Flag.FORCE_WRITE_LOCK); forceWriteLockCache.get(key1); forceWriteLockCache.get(key2); forceWriteLockCache.get(key3);
flags
- a set of flags to apply. See the Flag
documentation.
AdvancedCache
instance on which a real operation is to be invoked, if the flags are
to be applied.void addInterceptor(CommandInterceptor i, int position)
i
- the interceptor to addposition
- the position to add the interceptorboolean addInterceptorAfter(CommandInterceptor i, Class<? extends CommandInterceptor> afterInterceptor)
i
- interceptor to addafterInterceptor
- interceptor type after which to place custom interceptor
boolean addInterceptorBefore(CommandInterceptor i, Class<? extends CommandInterceptor> beforeInterceptor)
i
- interceptor to addbeforeInterceptor
- interceptor type before which to place custom interceptor
void removeInterceptor(int position)
position
- the position at which to remove an interceptorvoid removeInterceptor(Class<? extends CommandInterceptor> interceptorType)
interceptorType
- type of interceptor to removeList<CommandInterceptor> getInterceptorChain()
List
of CommandInterceptor
s
configured for this cacheEvictionManager getEvictionManager()
ComponentRegistry getComponentRegistry()
DistributionManager getDistributionManager()
DistributionManager
if the cache is configured
to use Distribution. Otherwise, returns a null.
boolean lock(K... keys)
Keys can be locked eagerly in the context of a transaction only.
keys
- the keys to lock
Flag.FAIL_SILENTLY
.
TimeoutException
- if the lock
cannot be acquired within the configured lock acquisition time.boolean lock(Collection<? extends K> keys)
Collections of keys can be locked eagerly in the context of a transaction only.
keys
- collection of keys to lock
Flag.FAIL_SILENTLY
.
TimeoutException
- if the lock
cannot be acquired within the configured lock acquisition time.void applyDelta(K deltaAwareValueKey, Delta delta, Object... locksToAcquire)
deltaAwareValueKey
- the key for DeltaAware objectdelta
- the delta to be applied to DeltaAware objectlocksToAcquire
- keys to be locked in DeltaAware scopeRpcManager getRpcManager()
Configuration.CacheMode
is Configuration.CacheMode.LOCAL
, this
method will return null.
BatchContainer getBatchContainer()
InvocationContextContainer getInvocationContextContainer()
DataContainer getDataContainer()
TransactionManager getTransactionManager()
LockManager getLockManager()
Stats getStats()
Stats
object that allows several statistics associated
with this cache at runtime.
Stats
objectXAResource getXAResource()
XAResource
associated with this cache which can be
used to do transactional recovery.
XAResource
ClassLoader getClassLoader()
DecoratedCache
wrapper.
AdvancedCache<K,V> with(ClassLoader classLoader)
AdvancedCache
operation
with a given ClassLoader
. This means that any ClassLoader
happening
as a result of the cache operation will be done using the ClassLoader
given. For example:
When users store POJO instances in caches configured with Configuration.storeAsBinary
,
these instances are transformed into byte arrays. When these entries are
read from the cache, a lazy unmarshalling process happens where these byte
arrays are transformed back into POJO instances. Using with(ClassLoader)
when reading that enables users to provide the class loader that should
be used when trying to locate the classes that are constructed as a result
of the unmarshalling process.
cache.with(classLoader).get(key);Note that for the flag to take effect, the cache operation must be invoked on the instance returned by this method. As an alternative to setting this on every invocation, users could also consider using the
DecoratedCache
wrapper, as this allows for more readable
code. E.g.:
Cache classLoaderSpecificCache = new DecoratedCache(cache, classLoader); classLoaderSpecificCache.get(key1); classLoaderSpecificCache.get(key2); classLoaderSpecificCache.get(key3);
AdvancedCache
instance upon which operations can be called
with a particular ClassLoader
.
|
--> | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |