Class StatsCollectingCache<K,V>
- java.lang.Object
-
- org.infinispan.cache.impl.SimpleCacheImpl<K,V>
-
- org.infinispan.cache.impl.StatsCollectingCache<K,V>
-
- All Implemented Interfaces:
ConcurrentMap<K,V>,Map<K,V>,AdvancedCache<K,V>,Cache<K,V>,org.infinispan.commons.api.AsyncCache<K,V>,org.infinispan.commons.api.BasicCache<K,V>,org.infinispan.commons.api.BatchingCache,org.infinispan.commons.api.Lifecycle,org.infinispan.commons.api.TransactionalCache,FilteringListenable<K,V>,Listenable
public class StatsCollectingCache<K,V> extends SimpleCacheImpl<K,V>
Wraps existingAdvancedCacheto collect statistics- Author:
- Radim Vansa <rvansa@redhat.com>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.infinispan.cache.impl.SimpleCacheImpl
SimpleCacheImpl.CacheEntryChange<K,V>, SimpleCacheImpl.CacheEntrySet, SimpleCacheImpl.EntrySet, SimpleCacheImpl.EntrySetBase<T extends Map.Entry<K,V>>, SimpleCacheImpl.KeySet, SimpleCacheImpl.ValueAndMetadata<V>, SimpleCacheImpl.Values
-
-
Constructor Summary
Constructors Constructor Description StatsCollectingCache(String cacheName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected VcomputeIfAbsentInternal(K key, Function<? super K,? extends V> mappingFunction, org.infinispan.commons.util.ByRef<V> newValueRef)protected VcomputeIfPresentInternal(K key, BiFunction<? super K,? super V,? extends V> remappingFunction, SimpleCacheImpl.CacheEntryChange<K,V> ref)protected VcomputeInternal(K key, BiFunction<? super K,? super V,? extends V> remappingFunction, SimpleCacheImpl.CacheEntryChange<K,V> ref)voidevict(K key)Evicts an entry from the memory of the cache.Vget(Object key)Map<K,V>getAll(Set<?> keys)Gets a collection of entries, returning them asMapof the values associated with the set of keys requested.Map<K,CacheEntry<K,V>>getAllCacheEntries(Set<?> keys)Gets a collection of entries from theAdvancedCache, returning them asMapof the cache entries associated with the set of keys requested.Map<K,V>getAndPutAll(Map<? extends K,? extends V> entries)Executes an equivalent ofMap.putAll(Map), returning previous values of the modified entries.protected VgetAndPutInternal(K key, V value, Metadata metadata)protected VgetAndReplaceInternal(K key, V value, Metadata metadata)CacheEntry<K,V>getCacheEntry(Object k)Retrieves a CacheEntry corresponding to a specific key.StatsgetStats()Returns aStatsobject that allows several statistics associated with this cache at runtime.protected VmergeInternal(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction, SimpleCacheImpl.CacheEntryChange<K,V> ref, Metadata metadata)protected voidputForExternalReadInternal(K key, V value, Metadata metadata, org.infinispan.commons.util.ByRef.Boolean isCreatedRef)protected VputIfAbsentInternal(K key, V value, Metadata metadata)Vremove(Object key)booleanremove(Object key, Object value)protected booleanreplaceInternal(K key, V oldValue, V value, Metadata metadata)StringtoString()AdvancedCache<K,V>with(ClassLoader classLoader)AdvancedCache<K,V>withFlags(Flag... flags)A method that adds flags to any API call.-
Methods inherited from class org.infinispan.cache.impl.SimpleCacheImpl
addFilteredListenerAsync, addListenerAsync, addListenerAsync, addStorageFormatFilteredListenerAsync, cacheEntrySet, checkExpiration, clear, clearAsync, compute, compute, compute, compute, computeAsync, computeAsync, computeAsync, computeAsync, computeIfAbsent, computeIfAbsent, computeIfAbsent, computeIfAbsent, computeIfAbsentAsync, computeIfAbsentAsync, computeIfAbsentAsync, computeIfAbsentAsync, computeIfPresent, computeIfPresent, computeIfPresent, computeIfPresent, computeIfPresentAsync, computeIfPresentAsync, computeIfPresentAsync, computeIfPresentAsync, containsKey, containsValue, endBatch, entrySet, forEach, getAdvancedCache, getAllAsync, getAsync, getAsyncInterceptorChain, getAuthorizationManager, getAvailability, getBatchContainer, getCacheConfiguration, getCacheEntryAsync, getCacheManager, getCacheName, getCacheStatus, getClassLoader, getComponentRegistry, getConfigurationAsProperties, getDataContainer, getDistributionManager, getEvictionManager, getExpirationManager, getGroup, getKeyDataConversion, getListeners, getLockManager, getName, getRpcManager, getStatus, getStreamSupplier, getTransactionManager, getValueDataConversion, getVersion, getXAResource, isEmpty, keySet, lock, lock, lockAs, lockedStream, merge, merge, merge, merge, mergeAsync, mergeAsync, mergeAsync, mergeAsync, noFlags, put, put, put, put, putAll, putAll, putAll, putAll, putAllAsync, putAllAsync, putAllAsync, putAllAsync, putAllInternal, putAsync, putAsync, putAsync, putAsync, putForExternalRead, putForExternalRead, putForExternalRead, putForExternalRead, putIfAbsent, putIfAbsent, putIfAbsent, putIfAbsent, putIfAbsentAsync, putIfAbsentAsync, putIfAbsentAsync, putIfAbsentAsync, removeAsync, removeAsync, removeGroup, removeLifespanExpired, removeListenerAsync, removeMaxIdleExpired, replace, replace, replace, replace, replace, replace, replace, replace, replaceAll, replaceAsync, replaceAsync, replaceAsync, replaceAsync, replaceAsync, replaceAsync, replaceAsync, replaceAsync, setAvailability, size, sizeAsync, start, startBatch, stop, transform, values, withEncoding, withEncoding, withFlags, withKeyEncoding, withMediaType, withStorageMediaType, withSubject, withWrapping, withWrapping
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.infinispan.AdvancedCache
compute, computeAsync, computeIfAbsent, computeIfAbsentAsync, computeIfPresent, computeIfPresentAsync, merge, mergeAsync, withFlags
-
Methods inherited from interface org.infinispan.Cache
compute, compute, compute, computeAsync, computeAsync, computeAsync, computeIfAbsent, computeIfAbsent, computeIfAbsent, computeIfAbsentAsync, computeIfAbsentAsync, computeIfAbsentAsync, computeIfPresent, computeIfPresentAsync, merge, merge, merge, mergeAsync, mergeAsync, mergeAsync, shutdown
-
Methods inherited from interface java.util.concurrent.ConcurrentMap
getOrDefault
-
Methods inherited from interface org.infinispan.notifications.FilteringListenable
addFilteredListener, addListener, addStorageFormatFilteredListener
-
Methods inherited from interface org.infinispan.notifications.Listenable
addListener, removeListener
-
-
-
-
Constructor Detail
-
StatsCollectingCache
public StatsCollectingCache(String cacheName)
-
-
Method Detail
-
withFlags
public AdvancedCache<K,V> withFlags(Flag... flags)
Description copied from interface:AdvancedCacheA method that adds flags to any API call. For example, consider the following code snippet: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 should also consider saving the decorated cache, as this allows for more readable code. E.g.:AdvancedCache<?, ?> forceWriteLockCache = cache.withFlags(Flag.FORCE_WRITE_LOCK); forceWriteLockCache.get(key1); forceWriteLockCache.get(key2); forceWriteLockCache.get(key3);- Specified by:
withFlagsin interfaceAdvancedCache<K,V>- Overrides:
withFlagsin classSimpleCacheImpl<K,V>- Parameters:
flags- a set of flags to apply. See theFlagdocumentation.- Returns:
- an
AdvancedCacheinstance on which a real operation is to be invoked, if the flags are to be applied.
-
with
public AdvancedCache<K,V> with(ClassLoader classLoader)
- Specified by:
within interfaceAdvancedCache<K,V>- Overrides:
within classSimpleCacheImpl<K,V>
-
getStats
public Stats getStats()
Description copied from interface:AdvancedCacheReturns aStatsobject that allows several statistics associated with this cache at runtime.- Specified by:
getStatsin interfaceAdvancedCache<K,V>- Overrides:
getStatsin classSimpleCacheImpl<K,V>- Returns:
- this cache's
Statsobject
-
getCacheEntry
public CacheEntry<K,V> getCacheEntry(Object k)
Description copied from interface:AdvancedCacheRetrieves a CacheEntry corresponding to a specific key.- Specified by:
getCacheEntryin interfaceAdvancedCache<K,V>- Overrides:
getCacheEntryin classSimpleCacheImpl<K,V>- Parameters:
k- the key whose associated cache entry is to be returned- Returns:
- the cache entry to which the specified key is mapped, or
nullif this map contains no mapping for the key
-
getAll
public Map<K,V> getAll(Set<?> keys)
Description copied from interface:AdvancedCacheGets a collection of entries, returning them asMapof the values associated with the set of keys requested.If the cache is configured read-through, and a get for a key would return null because an entry is missing from the cache, the Cache's
CacheLoaderis called in an attempt to load the entry. If an entry cannot be loaded for a given key, the returned Map will contain null for value of the key.Unlike other bulk methods if this invoked in an existing transaction all entries will be stored in the current transactional context
The returned
Mapwill be a copy and updates to the map will not be reflected in the Cache and vice versa. The keys and values themselves however may not be copies depending on if storeAsBinary is enabled and the value was retrieved from the local node.- Specified by:
getAllin interfaceAdvancedCache<K,V>- Overrides:
getAllin classSimpleCacheImpl<K,V>- Parameters:
keys- The keys whose associated values are to be returned.- Returns:
- A map of entries that were found for the given keys. If an entry is not found for a given key, it will not be in the returned map.
-
getAllCacheEntries
public Map<K,CacheEntry<K,V>> getAllCacheEntries(Set<?> keys)
Description copied from interface:AdvancedCacheGets a collection of entries from theAdvancedCache, returning them asMapof the cache entries associated with the set of keys requested.If the cache is configured read-through, and a get for a key would return null because an entry is missing from the cache, the Cache's
CacheLoaderis called in an attempt to load the entry. If an entry cannot be loaded for a given key, the returned Map will contain null for value of the key.Unlike other bulk methods if this invoked in an existing transaction all entries will be stored in the current transactional context
The returned
Mapwill be a copy and updates to the map will not be reflected in the Cache and vice versa. The keys and values themselves however may not be copies depending on if storeAsBinary is enabled and the value was retrieved from the local node.- Specified by:
getAllCacheEntriesin interfaceAdvancedCache<K,V>- Overrides:
getAllCacheEntriesin classSimpleCacheImpl<K,V>- Parameters:
keys- The keys whose associated values are to be returned.- Returns:
- A map of entries that were found for the given keys. Keys not found in the cache are present in the map with null values.
-
getAndPutAll
public Map<K,V> getAndPutAll(Map<? extends K,? extends V> entries)
Description copied from interface:AdvancedCacheExecutes an equivalent ofMap.putAll(Map), returning previous values of the modified entries.- Parameters:
entries- mappings to be stored in this map- Returns:
- A map of previous values for the given keys. If the previous mapping does not exist it will not be in the returned map.
-
evict
public void evict(K key)
Description copied from interface:CacheEvicts an entry from the memory of the cache. Note that the entry is not removed from any configured cache stores or any other caches in the cluster (if used in a clustered mode). UseBasicCache.remove(Object)to remove an entry from the entire cache system. This method is designed to evict an entry from memory to free up memory used by the application. This method uses a 0 lock acquisition timeout so it does not block in attempting to acquire locks. It behaves as a no-op if the lock on the entry cannot be acquired immediately. Important: this method should not be called from within a transaction scope.
-
getAndPutInternal
protected V getAndPutInternal(K key, V value, Metadata metadata)
- Overrides:
getAndPutInternalin classSimpleCacheImpl<K,V>
-
getAndReplaceInternal
protected V getAndReplaceInternal(K key, V value, Metadata metadata)
- Overrides:
getAndReplaceInternalin classSimpleCacheImpl<K,V>
-
putForExternalReadInternal
protected void putForExternalReadInternal(K key, V value, Metadata metadata, org.infinispan.commons.util.ByRef.Boolean isCreatedRef)
- Overrides:
putForExternalReadInternalin classSimpleCacheImpl<K,V>
-
putIfAbsentInternal
protected V putIfAbsentInternal(K key, V value, Metadata metadata)
- Overrides:
putIfAbsentInternalin classSimpleCacheImpl<K,V>
-
replaceInternal
protected boolean replaceInternal(K key, V oldValue, V value, Metadata metadata)
- Overrides:
replaceInternalin classSimpleCacheImpl<K,V>
-
computeIfAbsentInternal
protected V computeIfAbsentInternal(K key, Function<? super K,? extends V> mappingFunction, org.infinispan.commons.util.ByRef<V> newValueRef)
- Overrides:
computeIfAbsentInternalin classSimpleCacheImpl<K,V>
-
computeIfPresentInternal
protected V computeIfPresentInternal(K key, BiFunction<? super K,? super V,? extends V> remappingFunction, SimpleCacheImpl.CacheEntryChange<K,V> ref)
- Overrides:
computeIfPresentInternalin classSimpleCacheImpl<K,V>
-
computeInternal
protected V computeInternal(K key, BiFunction<? super K,? super V,? extends V> remappingFunction, SimpleCacheImpl.CacheEntryChange<K,V> ref)
- Overrides:
computeInternalin classSimpleCacheImpl<K,V>
-
mergeInternal
protected V mergeInternal(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction, SimpleCacheImpl.CacheEntryChange<K,V> ref, Metadata metadata)
- Overrides:
mergeInternalin classSimpleCacheImpl<K,V>
-
toString
public String toString()
- Overrides:
toStringin classSimpleCacheImpl<K,V>
-
-