Class CacheImpl<K,V>
- All Implemented Interfaces:
ConcurrentMap<K,,V> Map<K,,V> AdvancedCache<K,,V> Cache<K,,V> AsyncCache<K,,V> BasicCache<K,,V> BatchingCache,Lifecycle,TransactionalCache,FilteringListenable<K,,V> Listenable
- Since:
- 4.0
- Author:
- Mircea.Markus@jboss.com, Galder ZamarreƱo, Sanne Grinovero, Trustin Lee
-
Nested Class Summary
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected BatchContainerprotected CacheManagerNotifierprotected CommandsFactoryprotected ComponentRegistryprotected Configurationprotected Metadataprotected InvocationContextFactoryprotected AsyncInterceptorChainprotected KeyPartitionerprotected StreamingMarshallerprotected CacheNotifier<K,V> static final Stringprotected RpcManagerprotected javax.transaction.TransactionManager -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<C> CompletionStage<Void>addFilteredListenerAsync(Object listener, CacheEventFilter<? super K, ? super V> filter, CacheEventConverter<? super K, ? super V, C> converter, Set<Class<? extends Annotation>> filterAnnotations) Asynchronous version ofFilteringListenable.addFilteredListener(Object, CacheEventFilter, CacheEventConverter, Set)addListenerAsync(Object listener) Asynchronous version ofListenable.addListener(Object)<C> CompletionStage<Void>addListenerAsync(Object listener, CacheEventFilter<? super K, ? super V> filter, CacheEventConverter<? super K, ? super V, C> converter) Asynchronous version ofFilteringListenable.addListener(Object, CacheEventFilter, CacheEventConverter)<C> CompletionStage<Void>addStorageFormatFilteredListenerAsync(Object listener, CacheEventFilter<? super K, ? super V> filter, CacheEventConverter<? super K, ? super V, C> converter, Set<Class<? extends Annotation>> filterAnnotations) CacheSet<CacheEntry<K,V>> Identical toCache.entrySet()but is typed to return CacheEntries instead of Entries.final voidclear()Removes all mappings from the cache.final CompletableFuture<Void>Asynchronous version ofMap.clear().final voidcompute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit) An overloaded form ofConcurrentMap.compute(Object, BiFunction)which takes in lifespan parameters.compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) An overloaded form ofConcurrentMap.compute(Object, BiFunction)which takes in lifespan and maxIdleTime parameters.An overloaded form of#compute(K, BiFunction), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.computeAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) Asynchronous version ofConcurrentMap.compute(Object, BiFunction).computeAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit) Asynchronous version ofBasicCache.compute(Object, BiFunction, long, TimeUnit).computeAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Asynchronous version ofBasicCache.compute(Object, BiFunction, long, TimeUnit, long, TimeUnit).computeAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, Metadata metadata) Overloaded#computeAsync(K, BiFunction), which stores metadata alongside the value.final VcomputeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction, long lifespan, TimeUnit lifespanUnit) An overloaded form ofConcurrentMap.computeIfAbsent(Object, Function)which takes in lifespan parameters.computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) An overloaded form ofConcurrentMap.computeIfAbsent(Object, Function)which takes in lifespan and maxIdleTime parameters.An overloaded form of#computeIfAbsent(K, Function), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.computeIfAbsentAsync(K key, Function<? super K, ? extends V> mappingFunction) Asynchronous version ofConcurrentMap.computeIfAbsent(Object, Function).computeIfAbsentAsync(K key, Function<? super K, ? extends V> mappingFunction, long lifespan, TimeUnit lifespanUnit) Asynchronous version ofBasicCache.computeIfAbsent(Object, Function, long, TimeUnit).computeIfAbsentAsync(K key, Function<? super K, ? extends V> mappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Asynchronous version ofBasicCache.computeIfAbsent(Object, Function, long, TimeUnit, long, TimeUnit).Overloaded#computeIfAbsentAsync(K, Function), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit) An overloaded form ofConcurrentMap.computeIfPresent(Object, BiFunction)which takes in lifespan parameters.computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) An overloaded form ofConcurrentMap.computeIfPresent(Object, BiFunction)which takes in lifespan and maxIdleTime parameters.computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, Metadata metadata) An overloaded form of#computeIfPresent(K, BiFunction), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.computeIfPresentAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) Asynchronous version ofConcurrentMap.computeIfPresent(Object, BiFunction).computeIfPresentAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit) Asynchronous version ofBasicCache.computeIfPresent(Object, BiFunction, long, TimeUnit).computeIfPresentAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Asynchronous version ofBasicCache.computeIfPresent(Object, BiFunction, long, TimeUnit, long, TimeUnit).computeIfPresentAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, Metadata metadata) Overloaded#computeIfPresentAsync(K, BiFunction), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.final booleancontainsKey(Object key) final booleancontainsValue(Object value) voidendBatch(boolean successful) Completes a batch if one has been started usingBatchingCache.startBatch().entrySet()Returns a set view of the mappings contained in this cache and cache loader across the entire cluster.final voidEvicts an entry from the memory of the cache.final VGets a collection of entries, returning them asMapof the values associated with the set of keys requested.getAllAsync(Set<?> keys) TODO This should be in AdvancedCache with getAllMap<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.final Map<K,CacheEntry<K, V>> getAllCacheEntries(Set<?> keys, long explicitFlags, InvocationContext ctx) getAndPutAll(Map<? extends K, ? extends V> map) Executes an equivalent ofMap.putAll(Map), returning previous values of the modified entries.Asynchronous version ofMap.get(Object)that allows user code to retrieve the value associated with a key at a later stage, hence allowing multiple parallel get requests to be sent.Deprecated, for removal: This API element is subject to removal in a future version.Since 10.0, will be removed without a replacementRetrieves theAuthorizationManagerif the cache has security enabled.Returns the cache's availability.Returns the component in charge of batching cache operations.final CacheEntry<K,V> getCacheEntry(Object key) Retrieves a CacheEntry corresponding to a specific key.getCacheEntryAsync(Object key) Retrieves a CacheEntry corresponding to a specific key.Retrieves the cache manager responsible for creating this cache instance.Returns the cache name.Returns String representation of ComponentStatus enumeration in order to avoid class not found exceptions in JMX tools that don't have access to infinispan classes.Returns the cache loader associated associated with this cache.Returns the container where data is stored in the cache.Retrieves a reference to theDistributionManagerif the cache is configured to use Distribution.It fetches all the keys which belong to the group.Deprecated, for removal: This API element is subject to removal in a future version.Returns the component that deals with all aspects of acquiring and releasing locks for cache entries.getName()Retrieves the name of the cacheReturns the component in charge of communication with other caches in the cluster.getStats()Returns aStatsobject that allows several statistics associated with this cache at runtime.javax.transaction.TransactionManagerReturns the version of Infinispan.Returns theXAResourceassociated with this cache which can be used to do transactional recovery.final booleanisEmpty()booleankeySet()Returns a set view of the keys contained in this cache and cache loader across the entire cluster.booleanlock(Collection<? extends K> keys) Locks collections of keys eagerly across cache nodes in a cluster.booleanLocks a given key or keys eagerly across cache nodes in a cluster.Whenever this cache acquires a lock it will do so using the given Object as the owner of said lock.Returns a sequential stream using this Cache as the source.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit) An overloaded form ofConcurrentMap.merge(Object, Object, BiFunction)which takes in lifespan parameters.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) An overloaded form ofConcurrentMap.merge(Object, Object, BiFunction)which takes in lifespan parameters.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, Metadata metadata) An overloaded form ofCache.merge(Object, Object, BiFunction), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.mergeAsync(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) Asynchronous version ofConcurrentMap.merge(Object, Object, BiFunction).mergeAsync(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit) Asynchronous version ofBasicCache.merge(Object, Object, BiFunction, long, TimeUnit).mergeAsync(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) Asynchronous version ofBasicCache.merge(Object, Object, BiFunction, long, TimeUnit, long, TimeUnit).mergeAsync(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, Metadata metadata) OverloadedAsyncCache.mergeAsync(Object, Object, BiFunction), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.noFlags()Unset all flags set on this cache usingAdvancedCache.withFlags(Flag...)orAdvancedCache.withFlags(Collection)methods.voidpreStart()final VIf the return value of this operation will be ignored by the application, the user is strongly encouraged to use theFlag.IGNORE_RETURN_VALUESflag when invoking this method in order to make it behave as efficiently as possible (i.e.final VAn overloaded form ofBasicCache.put(Object, Object), which takes in lifespan parameters.final VAn overloaded form ofBasicCache.put(Object, Object), which takes in lifespan parameters.An overloaded form of#put(K, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.final voidfinal voidAn overloaded form ofMap.putAll(Map), which takes in lifespan parameters.final voidputAll(Map<? extends K, ? extends V> map, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) An overloaded form ofMap.putAll(Map), which takes in lifespan parameters.voidAn overloaded form ofMap.putAll(Map), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entries being stored, such as lifespan, version of value...etc.final CompletableFuture<Void>putAllAsync(Map<? extends K, ? extends V> data) Asynchronous version ofMap.putAll(Map).final CompletableFuture<Void>putAllAsync(Map<? extends K, ? extends V> data, long lifespan, TimeUnit unit) Asynchronous version ofBasicCache.putAll(Map, long, TimeUnit).final CompletableFuture<Void>putAllAsync(Map<? extends K, ? extends V> data, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Asynchronous version ofBasicCache.putAll(Map, long, TimeUnit, long, TimeUnit).final CompletableFuture<Void>putAllAsync(Map<? extends K, ? extends V> data, Metadata metadata) final CompletableFuture<V>Asynchronous version ofBasicCache.put(Object, Object).final CompletableFuture<V>Asynchronous version ofBasicCache.put(Object, Object, long, TimeUnit).final CompletableFuture<V>Asynchronous version ofBasicCache.put(Object, Object, long, TimeUnit, long, TimeUnit).Asynchronous version ofAdvancedCache.put(Object, Object, Metadata)which stores metadata alongside the value.putAsyncEntry(K key, V value, Metadata metadata) Extension ofAdvancedCache.putAsync(K, V, Metadata)which returns aCacheEntryinstead of only the previous value.final voidputForExternalRead(K key, V value) Under special operating behavior, associates the value with the specified key.voidputForExternalRead(K key, V value, long lifespan, TimeUnit lifespanUnit) An overloaded form ofCache.putForExternalRead(K, V), which takes in lifespan parameters.voidputForExternalRead(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) An overloaded form ofCache.putForExternalRead(K, V), which takes in lifespan parameters.voidputForExternalRead(K key, V value, Metadata metadata) An overloaded form of#putForExternalRead(K, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.final VputIfAbsent(K key, V value) final VputIfAbsent(K key, V value, long lifespan, TimeUnit unit) An overloaded form ofConcurrentMap.putIfAbsent(Object, Object), which takes in lifespan parameters.final VputIfAbsent(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) An overloaded form ofConcurrentMap.putIfAbsent(Object, Object), which takes in lifespan parameters.putIfAbsent(K key, V value, Metadata metadata) An overloaded form of#putIfAbsent(K, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.final CompletableFuture<V>putIfAbsentAsync(K key, V value) Asynchronous version ofConcurrentMap.putIfAbsent(Object, Object).final CompletableFuture<V>putIfAbsentAsync(K key, V value, long lifespan, TimeUnit unit) Asynchronous version ofBasicCache.putIfAbsent(Object, Object, long, TimeUnit).final CompletableFuture<V>putIfAbsentAsync(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Asynchronous version ofBasicCache.putIfAbsent(Object, Object, long, TimeUnit, long, TimeUnit).final CompletableFuture<V>putIfAbsentAsync(K key, V value, Metadata metadata) An overloaded form of#putIfAbsentAsync(K, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.putIfAbsentAsyncEntry(K key, V value, Metadata metadata) An extension form ofAdvancedCache.putIfAbsentAsync(K, V, Metadata), which returns aCacheEntryinstead of only the value.final VIf the return value of this operation will be ignored by the application, the user is strongly encouraged to use theFlag.IGNORE_RETURN_VALUESflag when invoking this method in order to make it behave as efficiently as possible (i.e.final booleanfinal CompletableFuture<V>removeAsync(Object key) Asynchronous version ofBasicCache.remove(Object).final CompletableFuture<Boolean>removeAsync(Object key, Object value) Asynchronous version ofConcurrentMap.remove(Object, Object).removeAsyncEntry(Object key) An extension ofAsyncCache.removeAsync(Object), which returns aCacheEntryinstead of only the value.voidremoveGroup(String groupName) It removes all the key which belongs to a group.removeLifespanExpired(K key, V value, Long lifespan) Attempts to remove the entry if it is expired.removeListenerAsync(Object listener) Asynchronous version ofListenable.removeListener(Object)removeMaxIdleExpired(K key, V value) Attempts to remove the entry for the given key, if it has expired due to max idle.final Vfinal VAn overloaded form ofConcurrentMap.replace(Object, Object), which takes in lifespan parameters.final Vreplace(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) An overloaded form ofConcurrentMap.replace(Object, Object), which takes in lifespan parameters.An overloaded form of#replace(K, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.final booleanfinal booleanAn overloaded form ofConcurrentMap.replace(Object, Object, Object), which takes in lifespan parameters.final booleanreplace(K key, V oldValue, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) An overloaded form ofConcurrentMap.replace(Object, Object, Object), which takes in lifespan parameters.booleanAn overloaded form of#replace(K, V, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.final CompletableFuture<V>replaceAsync(K key, V value) Asynchronous version ofConcurrentMap.replace(Object, Object).final CompletableFuture<V>replaceAsync(K key, V value, long lifespan, TimeUnit unit) Asynchronous version ofBasicCache.replace(Object, Object, long, TimeUnit).final CompletableFuture<V>replaceAsync(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Asynchronous version ofBasicCache.replace(Object, Object, long, TimeUnit, long, TimeUnit).final CompletableFuture<V>replaceAsync(K key, V value, Metadata metadata) An overloaded form of#replaceAsync(K, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.final CompletableFuture<Boolean>replaceAsync(K key, V oldValue, V newValue) Asynchronous version ofConcurrentMap.replace(Object, Object, Object).final CompletableFuture<Boolean>replaceAsync(K key, V oldValue, V newValue, long lifespan, TimeUnit unit) Asynchronous version ofBasicCache.replace(Object, Object, Object, long, TimeUnit).final CompletableFuture<Boolean>replaceAsync(K key, V oldValue, V newValue, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Asynchronous version ofBasicCache.replace(Object, Object, Object, long, TimeUnit, long, TimeUnit).final CompletableFuture<Boolean>replaceAsync(K key, V oldValue, V newValue, Metadata metadata) replaceAsyncEntry(K key, V value, Metadata metadata) An extension ofAdvancedCache.replaceAsync(K, V, Metadata), which returns aCacheEntryinstead of only the value.voidsetAvailability(AvailabilityMode availability) Manually change the availability of the cache.voidsetRebalancingEnabled(boolean enabled) voidshutdown()Performs a controlled, clustered shutdown of the cache.final intsize()Returns a count of all elements in this cache and cache loader across the entire cluster.Asynchronous version ofMap.size().voidstart()Invoked on component startbooleanStarts a batch.voidstop()Stops a cache.toString()Touches the given key if present.The same asAdvancedCache.touch(Object, boolean)except that the segment is already known.transform(Function<AdvancedCache<K, V>, ? extends AdvancedCache<K, V>> transformation) Apply thetransformationon eachAdvancedCacheinstance in a delegation chain, starting with the innermost implementation.values()Returns a collection view of the values contained in this cache across the entire cluster.with(ClassLoader classLoader) withEncoding(Class<? extends Encoder> encoderClass) Performs any cache operations using the specifiedEncoder.withEncoding(Class<? extends Encoder> keyEncoderClass, Class<? extends Encoder> valueEncoderClass) Performs any cache operations using the specified pair ofEncoder.withFlags(Collection<Flag> flags) An alternative toAdvancedCache.withFlags(Flag...)not requiring array allocation.An alternative toAdvancedCache.withFlags(Flag...)optimized for a single flag.A method that adds flags to any API call.AdvancedCache<?,?> withKeyEncoding(Class<? extends Encoder> encoderClass) withMediaType(String keyMediaType, String valueMediaType) Perform any cache operations using an alternateMediaType.<K1,V1> AdvancedCache<K1, V1> withMediaType(MediaType keyMediaType, MediaType valueMediaType) Perform any cache operations using the sameMediaTypeof the cache storage.withSubject(Subject subject) Performs any cache operations using the specifiedSubject.withWrapping(Class<? extends Wrapper> wrapperClass) Performs any cache operations using the specifiedWrapper.withWrapping(Class<? extends Wrapper> keyWrapperClass, Class<? extends Wrapper> valueWrapperClass) Performs any cache operations using the specified pair ofWrapper.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.infinispan.AdvancedCache
compute, computeAsync, computeIfAbsent, computeIfAbsentAsync, computeIfPresent, computeIfPresentAsync, merge, mergeAsync, putAsyncReturnEntry, putIfAbsentAsyncReturnEntry, removeAsyncReturnEntry, replaceAsyncReturnEntryMethods inherited from interface org.infinispan.commons.api.AsyncCache
containsKeyAsyncMethods 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, mergeAsyncMethods inherited from interface java.util.concurrent.ConcurrentMap
forEach, getOrDefault, replaceAllMethods inherited from interface org.infinispan.notifications.FilteringListenable
addFilteredListener, addListener, addStorageFormatFilteredListenerMethods inherited from interface org.infinispan.notifications.Listenable
addListener, removeListener
-
Field Details
-
OBJECT_NAME
- See Also:
-
invocationContextFactory
-
commandsFactory
-
invoker
-
config
-
notifier
-
cacheManagerNotifier
-
batchContainer
-
componentRegistry
-
transactionManager
protected javax.transaction.TransactionManager transactionManager -
rpcManager
-
marshaller
-
keyPartitioner
-
defaultMetadata
-
-
Constructor Details
-
CacheImpl
-
-
Method Details
-
preStart
public void preStart() -
put
Description copied from interface:BasicCacheIf the return value of this operation will be ignored by the application, the user is strongly encouraged to use theFlag.IGNORE_RETURN_VALUESflag when invoking this method in order to make it behave as efficiently as possible (i.e. avoiding needless remote or network calls). -
put
Description copied from interface:BasicCacheAn overloaded form ofBasicCache.put(Object, Object), which takes in lifespan parameters.- Specified by:
putin interfaceBasicCache<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.unit- unit of measurement for the lifespan- Returns:
- the value being replaced, or null if nothing is being replaced.
-
putIfAbsent
Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.putIfAbsent(Object, Object), which takes in lifespan parameters.- Specified by:
putIfAbsentin interfaceBasicCache<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.unit- unit of measurement for the lifespan- Returns:
- the value being replaced, or null if nothing is being replaced.
-
putAll
Description copied from interface:BasicCacheAn overloaded form ofMap.putAll(Map), which takes in lifespan parameters. Note that the lifespan is applied to all mappings in the map passed in.- Specified by:
putAllin interfaceBasicCache<K,V> - Parameters:
map- map containing mappings to enterlifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.unit- unit of measurement for the lifespan
-
replace
Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.replace(Object, Object), which takes in lifespan parameters.- Specified by:
replacein interfaceBasicCache<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.unit- unit of measurement for the lifespan- Returns:
- the value being replaced, or null if nothing is being replaced.
-
replace
Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.replace(Object, Object, Object), which takes in lifespan parameters.- Specified by:
replacein interfaceBasicCache<K,V> - Parameters:
key- key to useoldValue- value to replacevalue- value to storelifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.unit- unit of measurement for the lifespan- Returns:
- true if the value was replaced, false otherwise
-
putIfAbsent
- Specified by:
putIfAbsentin interfaceConcurrentMap<K,V> - Specified by:
putIfAbsentin interfaceMap<K,V>
-
replace
-
replace
-
compute
Description copied from interface:CacheWhen this method is used on a clustered cache, either replicated or distributed, the bifunction will be serialized to owning nodes to perform the operation in the most performant way. However this means the bifunction must have an appropriate
Externalizeror beSerializableitself.For transactional caches, whenever the values of the caches are collections, and the mapping function modifies the collection, the collection must be copied and not directly modified, otherwise whenever rollback is called it won't work. This limitation could disappear in following releases if technically possible.
-
compute
public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit) Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.compute(Object, BiFunction)which takes in lifespan parameters.- Specified by:
computein interfaceBasicCache<K,V> - Parameters:
key- key to useremappingFunction- function to use to compute and store the value under keylifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespan- Returns:
- the computed value that was stored under key
-
compute
public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.compute(Object, BiFunction)which takes in lifespan and maxIdleTime parameters.- Specified by:
computein interfaceBasicCache<K,V> - Parameters:
key- key to useremappingFunction- function to use to compute and store the value under keylifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespanmaxIdleTime- the maximum amount of time this key is allowed to be idle for before it is considered as expiredmaxIdleTimeUnit- time unit for max idle time- Returns:
- the computed value that was stored under key
-
compute
public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, Metadata metadata) Description copied from interface:AdvancedCacheAn overloaded form of#compute(K, BiFunction), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.- Specified by:
computein interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is associatedremappingFunction- function to be applied to the specified key/valuemetadata- information to store alongside the new value- Returns:
- the previous value associated with the specified key, or null if remapping function is gives null.
-
computeIfPresent
Description copied from interface:CacheWhen this method is used on a clustered cache, either replicated or distributed, the bifunction will be serialized to owning nodes to perform the operation in the most performant way. However this means the bifunction must have an appropriate
Externalizeror beSerializableitself.For transactional caches, whenever the values of the caches are collections, and the mapping function modifies the collection, the collection must be copied and not directly modified, otherwise whenever rollback is called it won't work. This limitation could disappear in following releases if technically possible.
- Specified by:
computeIfPresentin interfaceCache<K,V> - Specified by:
computeIfPresentin interfaceConcurrentMap<K,V> - Specified by:
computeIfPresentin interfaceMap<K,V>
-
computeIfPresent
public V computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit) Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.computeIfPresent(Object, BiFunction)which takes in lifespan parameters.- Specified by:
computeIfPresentin interfaceBasicCache<K,V> - Parameters:
key- key to useremappingFunction- function to use to compute and store the value under key, if such existslifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespan- Returns:
- the computed value that was stored under key
-
computeIfPresent
public V computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.computeIfPresent(Object, BiFunction)which takes in lifespan and maxIdleTime parameters.- Specified by:
computeIfPresentin interfaceBasicCache<K,V> - Parameters:
key- key to useremappingFunction- function to use to compute and store the value under key, if such existslifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespanmaxIdleTime- the maximum amount of time this key is allowed to be idle for before it is considered as expiredmaxIdleTimeUnit- time unit for max idle time- Returns:
- the computed value that was stored under key
-
computeIfPresent
public V computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, Metadata metadata) Description copied from interface:AdvancedCacheAn overloaded form of#computeIfPresent(K, BiFunction), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc. TheMetadatais only stored if the call is successful.- Specified by:
computeIfPresentin interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is associatedremappingFunction- function to be applied to the specified key/valuemetadata- information to store alongside the new value- Returns:
- the previous value associated with the specified key, or null if there was no mapping for the key.
-
computeIfAbsent
Description copied from interface:CacheWhen this method is used on a clustered cache, either replicated or distributed, the function will be serialized to owning nodes to perform the operation in the most performant way. However this means the function must have an appropriate
Externalizeror beSerializableitself.For transactional caches, whenever the values of the caches are collections, and the mapping function modifies the collection, the collection must be copied and not directly modified, otherwise whenever rollback is called it won't work. This limitation could disappear in following releases if technically possible.
- Specified by:
computeIfAbsentin interfaceCache<K,V> - Specified by:
computeIfAbsentin interfaceConcurrentMap<K,V> - Specified by:
computeIfAbsentin interfaceMap<K,V>
-
computeIfAbsent
public V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction, long lifespan, TimeUnit lifespanUnit) Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.computeIfAbsent(Object, Function)which takes in lifespan parameters.- Specified by:
computeIfAbsentin interfaceBasicCache<K,V> - Parameters:
key- key to usemappingFunction- function to use to compute and store the value under key, if the key is absentlifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespan- Returns:
- the computed value that was stored under key
-
computeIfAbsent
public V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.computeIfAbsent(Object, Function)which takes in lifespan and maxIdleTime parameters.- Specified by:
computeIfAbsentin interfaceBasicCache<K,V> - Parameters:
key- key to usemappingFunction- function to use to compute and store the value under key, if the key is absentlifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespanmaxIdleTime- the maximum amount of time this key is allowed to be idle for before it is considered as expiredmaxIdleTimeUnit- time unit for max idle time- Returns:
- the computed value that was stored under key
-
computeIfAbsent
Description copied from interface:AdvancedCacheAn overloaded form of#computeIfAbsent(K, Function), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc. TheMetadatais only stored if the call is successful.- Specified by:
computeIfAbsentin interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is associatedmappingFunction- function to be applied to the specified keymetadata- information to store alongside the new value- Returns:
- the value created with the mapping function associated with the specified key, or the previous value associated with the specified key if the key is not absent.
-
merge
Description copied from interface:CacheWhen this method is used on a clustered cache, either replicated or distributed, the bifunction will be serialized to owning nodes to perform the operation in the most performant way. However this means the bifunction must have an appropriate
Externalizeror beSerializableitself.For transactional caches, whenever the values of the caches are collections, and the mapping function modifies the collection, the collection must be copied and not directly modified, otherwise whenever rollback is called it won't work. This limitation could disappear in following releases if technically possible.
-
merge
public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit) Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.merge(Object, Object, BiFunction)which takes in lifespan parameters.- Specified by:
mergein interfaceBasicCache<K,V> - Parameters:
key- key to usevalue- new value to merge with existing valueremappingFunction- function to use to merge new and existing values into a merged value to store under keylifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespan- Returns:
- the merged value that was stored under key
-
merge
public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.merge(Object, Object, BiFunction)which takes in lifespan parameters.- Specified by:
mergein interfaceBasicCache<K,V> - Parameters:
key- key to usevalue- new value to merge with existing valueremappingFunction- function to use to merge new and existing values into a merged value to store under keylifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespanmaxIdleTime- the maximum amount of time this key is allowed to be idle for before it is considered as expiredidleTimeUnit- time unit for max idle time- Returns:
- the merged value that was stored under key
-
merge
public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, Metadata metadata) Description copied from interface:AdvancedCacheAn overloaded form ofCache.merge(Object, Object, BiFunction), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc. TheMetadatais only stored if the call is successful.- Specified by:
mergein interfaceAdvancedCache<K,V> - Parameters:
key- , key with which the resulting value is to be associatedvalue- , the non-null value to be merged with the existing value associated with the key or, if no existing value or a null value is associated with the key, to be associated with the keyremappingFunction- , the function to recompute a value if presentmetadata- , information to store alongside the new value- Returns:
- the new value associated with the specified key, or null if no value is associated with the key
-
putAsync
Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.put(Object, Object). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
putAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to usevalue- value to store- Returns:
- a future containing the old value replaced.
-
putAsync
Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.put(Object, Object, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
putAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of entryunit- time unit for lifespan- Returns:
- a future containing the old value replaced
-
putAllAsync
Description copied from interface:AsyncCacheAsynchronous version ofMap.putAll(Map). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
putAllAsyncin interfaceAsyncCache<K,V> - Parameters:
data- to store- Returns:
- a future containing a void return type
-
putAllAsync
public final CompletableFuture<Void> putAllAsync(Map<? extends K, ? extends V> data, long lifespan, TimeUnit unit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.putAll(Map, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
putAllAsyncin interfaceAsyncCache<K,V> - Parameters:
data- to storelifespan- lifespan of entryunit- time unit for lifespan- Returns:
- a future containing a void return type
-
putIfAbsentAsync
Description copied from interface:AsyncCacheAsynchronous version ofConcurrentMap.putIfAbsent(Object, Object). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
putIfAbsentAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to usevalue- value to store- Returns:
- a future containing the old value replaced.
-
putIfAbsentAsync
Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.putIfAbsent(Object, Object, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
putIfAbsentAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of entryunit- time unit for lifespan- Returns:
- a future containing the old value replaced
-
replaceAsync
Description copied from interface:AsyncCacheAsynchronous version ofConcurrentMap.replace(Object, Object). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
replaceAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to removevalue- value to store- Returns:
- a future containing the previous value overwritten
-
replaceAsync
Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.replace(Object, Object, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
replaceAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to removevalue- value to storelifespan- lifespan of entryunit- time unit for lifespan- Returns:
- a future containing the previous value overwritten
-
replaceAsync
Description copied from interface:AsyncCacheAsynchronous version ofConcurrentMap.replace(Object, Object, Object). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
replaceAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to removeoldValue- value to overwritenewValue- value to store- Returns:
- a future containing a boolean, indicating whether the entry was replaced or not
-
replaceAsync
public final CompletableFuture<Boolean> replaceAsync(K key, V oldValue, V newValue, long lifespan, TimeUnit unit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.replace(Object, Object, Object, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
replaceAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to removeoldValue- value to overwritenewValue- value to storelifespan- lifespan of entryunit- time unit for lifespan- Returns:
- a future containing a boolean, indicating whether the entry was replaced or not
-
putAll
-
remove
-
size
public final int size()Description copied from interface:CacheReturns a count of all elements in this cache and cache loader across the entire cluster. Only a subset of entries is held in memory at a time when using a loader or remote entries, to prevent possible memory issues, however the loading of said entries can still be vary slow. If there are performance concerns then theFlag.SKIP_CACHE_LOADflag should be used to avoid hitting the cache loader in case if this is not needed in the size calculation. Also if you want the local contents only you can use theFlag.CACHE_MODE_LOCALflag so that other remote nodes are not queried for data. However the loader will still be used unless the previously mentionedFlag.SKIP_CACHE_LOADis also configured. If this method is used in a transactional context, note this method will not bring additional values into the transaction context and thus objects that haven't yet been read will act in aIsolationLevel.READ_COMMITTEDbehavior irrespective of the configured isolation level. However values that have been previously modified or read that are in the context will be adhered to. e.g. any write modification or any previous read when usingIsolationLevel.REPEATABLE_READThis method should only be used for debugging purposes such as to verify that the cache contains all the keys entered. Any other use involving execution of this method on a production system is not recommended. -
sizeAsync
Description copied from interface:AsyncCacheAsynchronous version ofMap.size(). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
sizeAsyncin interfaceAsyncCache<K,V> - Returns:
- a future containing the count of the cache
-
isEmpty
public final boolean isEmpty() -
containsKey
- Specified by:
containsKeyin interfaceMap<K,V>
-
containsValue
- Specified by:
containsValuein interfaceMap<K,V>
-
get
-
getCacheEntry
Description copied from interface:AdvancedCacheRetrieves a CacheEntry corresponding to a specific key.- Specified by:
getCacheEntryin interfaceAdvancedCache<K,V> - Parameters:
key- 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
-
getCacheEntryAsync
Description copied from interface:AdvancedCacheRetrieves a CacheEntry corresponding to a specific key.- Specified by:
getCacheEntryAsyncin interfaceAdvancedCache<K,V> - Parameters:
key- the key whose associated cache entry is to be returned- Returns:
- a future with the cache entry to which the specified key is mapped, or with
nullif this map contains no mapping for the key
-
getAll
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> - 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.
-
getAllAsync
Description copied from interface:AsyncCacheTODO This should be in AdvancedCache with getAll- Specified by:
getAllAsyncin interfaceAsyncCache<K,V>
-
getAllCacheEntries
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> - 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.
-
getAllCacheEntries
public final Map<K,CacheEntry<K, getAllCacheEntriesV>> (Set<?> keys, long explicitFlags, InvocationContext ctx) -
getGroup
Description copied from interface:AdvancedCacheIt fetches all the keys which belong to the group. Semantically, it iterates over all the keys in memory and persistence, and performs a read operation in the keys found. Multiple invocations inside a transaction ensures that all the keys previous read are returned and it may return newly added keys to the group from other committed transactions (also known as phantom reads). Themapreturned is immutable and represents the group at the time of the invocation. If you want to add or remove keys from a group useBasicCache.put(Object, Object)andBasicCache.remove(Object). To remove all the keys in the group useAdvancedCache.removeGroup(String). To improve performance you may use theflagFlag.SKIP_CACHE_LOADto avoid fetching the key/value from persistence. However, you will get an inconsistent snapshot of the group.- Specified by:
getGroupin interfaceAdvancedCache<K,V> - Parameters:
groupName- the group name.- Returns:
- an immutable
Mapwith the key/value pairs.
-
removeGroup
Description copied from interface:AdvancedCacheIt removes all the key which belongs to a group. Semantically, it fetches the most recent group keys/values and removes them. Note that, concurrent addition perform by other transactions/threads to the group may not be removed.- Specified by:
removeGroupin interfaceAdvancedCache<K,V> - Parameters:
groupName- the group name.
-
remove
Description copied from interface:BasicCacheIf the return value of this operation will be ignored by the application, the user is strongly encouraged to use theFlag.IGNORE_RETURN_VALUESflag when invoking this method in order to make it behave as efficiently as possible (i.e. avoiding needless remote or network calls). -
removeLifespanExpired
Description copied from interface:AdvancedCacheAttempts to remove the entry if it is expired. Due to expired entries not being consistent across nodes, this will still attempt to remove the value if it is not present. Note that this will raise an expired event even if the entry is not present. Normally this method should never be invoked except by theExpirationManager.This command will only remove the value if the value and lifespan also match if provided.
This method will suspend any ongoing transaction and start a new one just for the invocation of this command. It is automatically committed or rolled back after the command completes, either successfully or via an exception.
NOTE: This method may be removed at any point including in a minor release and is not supported for external usage.
- Specified by:
removeLifespanExpiredin interfaceAdvancedCache<K,V> - Parameters:
key- the key that is expiringvalue- the value that mapped to the given. Null means it will match any valuelifespan- the lifespan that should match. If null is provided it will match any lifespan value- Returns:
- if the entry was removed
-
removeMaxIdleExpired
Description copied from interface:AdvancedCacheAttempts to remove the entry for the given key, if it has expired due to max idle. This command first locks the key and then verifies that the entry has expired via maxIdle across all nodes. If it has this will then remove the given key.This method returns a boolean when it has determined if the entry has expired. This is useful for when a backup node invokes this command for a get that found the entry expired. This way the node can return back to the caller much faster when the entry is not expired and do any additional processing asynchronously if needed.
This method will suspend any ongoing transaction and start a new one just for the invocation of this command. It is automatically committed or rolled back after the command completes, either successfully or via an exception.
NOTE: This method may be removed at any point including in a minor release and is not supported for external usage.
- Specified by:
removeMaxIdleExpiredin interfaceAdvancedCache<K,V> - Parameters:
key- the key that expired via max idle for the given entry- Returns:
- if the entry was removed
-
withEncoding
Description copied from interface:AdvancedCachePerforms any cache operations using the specifiedEncoder.- Specified by:
withEncodingin interfaceAdvancedCache<K,V> - Parameters:
encoderClass-Encoderused for both keys and values.- Returns:
- an instance of
AdvancedCachewhere all operations will use the supplied encoder.
-
withKeyEncoding
- Specified by:
withKeyEncodingin interfaceAdvancedCache<K,V>
-
withEncoding
public AdvancedCache<K,V> withEncoding(Class<? extends Encoder> keyEncoderClass, Class<? extends Encoder> valueEncoderClass) Description copied from interface:AdvancedCachePerforms any cache operations using the specified pair ofEncoder.- Specified by:
withEncodingin interfaceAdvancedCache<K,V> - Parameters:
keyEncoderClass-Encoderfor the keys.valueEncoderClass-Encoderfor the values.- Returns:
- an instance of
AdvancedCachewhere all operations will use the supplied encoders.
-
withWrapping
Description copied from interface:AdvancedCachePerforms any cache operations using the specifiedWrapper.- Specified by:
withWrappingin interfaceAdvancedCache<K,V> - Parameters:
wrapperClass-Wrapperfor the keys and values.- Returns:
- an instance of
AdvancedCachewhere all operations will use the supplied wrapper.
-
withMediaType
Description copied from interface:AdvancedCachePerform any cache operations using an alternateMediaType.- Specified by:
withMediaTypein interfaceAdvancedCache<K,V> - Parameters:
keyMediaType-MediaTypefor the keys.valueMediaType-org.infinispan.commons.dataconversionfor the values.- Returns:
- an instance of
AdvancedCachewhere all data will formatted according to the suppliedMediaType.
-
withMediaType
public <K1,V1> AdvancedCache<K1,V1> withMediaType(MediaType keyMediaType, MediaType valueMediaType) - Specified by:
withMediaTypein interfaceAdvancedCache<K,V> - See Also:
-
withStorageMediaType
Description copied from interface:AdvancedCachePerform any cache operations using the sameMediaTypeof the cache storage. This is equivalent to disabling transcoding on the cache.- Specified by:
withStorageMediaTypein interfaceAdvancedCache<K,V> - Returns:
- an instance of
AdvancedCachewhere no data conversion will take place.
-
withWrapping
public AdvancedCache<K,V> withWrapping(Class<? extends Wrapper> keyWrapperClass, Class<? extends Wrapper> valueWrapperClass) Description copied from interface:AdvancedCachePerforms any cache operations using the specified pair ofWrapper.- Specified by:
withWrappingin interfaceAdvancedCache<K,V> - Parameters:
keyWrapperClass-Wrapperfor the keys.valueWrapperClass-Wrapperfor the values.- Returns:
AdvancedCachewhere all operations will use the supplied wrappers.
-
getKeyDataConversion
- Specified by:
getKeyDataConversionin interfaceAdvancedCache<K,V> - Returns:
- The associated
DataConversionfor the keys.
-
getValueDataConversion
- Specified by:
getValueDataConversionin interfaceAdvancedCache<K,V> - Returns:
- The associated
DataConversionfor the cache's values.
-
clearOperation
@ManagedOperation(description="Clears the cache", displayName="Clears the cache", name="clear") public final void clearOperation() -
clear
public final void clear()Description copied from interface:CacheRemoves all mappings from the cache. Note: This should never be invoked in production unless you can guarantee no other invocations are ran concurrently. If the cache is transactional, it will not interact with the transaction. -
keySet
Description copied from interface:CacheReturns a set view of the keys contained in this cache and cache loader across the entire cluster. Modifications and changes to the cache will be reflected in the set and vice versa. When this method is called nothing is actually queried as the backing set is just returned. Invocation on the set itself is when the various operations are ran.Unsupported Operations
Care should be taken when invokingSet.toArray(),Set.toArray(Object[]),Set.size(),Set.retainAll(Collection)andSet.iterator()methods as they will traverse the entire contents of the cluster including a configuredCacheLoaderand remote entries. The former 2 methods especially have a very high likely hood of causing aOutOfMemoryErrordue to storing all the keys in the entire cluster in the array. Use involving execution of this method on a production system is not recommended as they can be quite expensive operationsSupported Flags
Note any flag configured for the cache will also be passed along to the backing set when it was created. If additional flags are configured on the cache they will not affect any existing backings sets. If there are performance concerns then theFlag.SKIP_CACHE_LOADflag should be used to avoid hitting the cache store as this will cause all entries there to be read in (albeit in a batched form to preventOutOfMemoryError) Also if you want the local contents only you can use theFlag.CACHE_MODE_LOCALflag so that other remote nodes are not queried for data. However the loader will still be used unless the previously mentionedFlag.SKIP_CACHE_LOADis also configured.Iterator Use
This class implements theCloseableIteratorSetinterface which creates aCloseableIteratorinstead of a regular one. This means this iterator must be explicitly closed either through try with resource or calling the close method directly. Technically this iterator will also close itself if you iterate fully over it, but it is safest to always make sure you close it explicitly.Unsupported Operations
Due to not being able to add null values the following methods are not supported and will throwUnsupportedOperationExceptionif invoked.Set.add(Object)Set.addAll(java.util.Collection) -
values
Description copied from interface:CacheReturns a collection view of the values contained in this cache across the entire cluster. Modifications and changes to the cache will be reflected in the set and vice versa. When this method is called nothing is actually queried as the backing collection is just returned. Invocation on the collection itself is when the various operations are ran. Care should be taken when invokingCollection.toArray(),Collection.toArray(Object[]),Collection.size(),Collection.retainAll(Collection)andCollection.iterator()methods as they will traverse the entire contents of the cluster including a configuredCacheLoaderand remote entries. The former 2 methods especially have a very high likely hood of causing aOutOfMemoryErrordue to storing all the keys in the entire cluster in the array. Use involving execution of this method on a production system is not recommended as they can be quite expensive operations *Supported Flags
Note any flag configured for the cache will also be passed along to the backing set when it was created. If additional flags are configured on the cache they will not affect any existing backings sets. If there are performance concerns then theFlag.SKIP_CACHE_LOADflag should be used to avoid hitting the cache store as this will cause all entries there to be read in (albeit in a batched form to preventOutOfMemoryError) Also if you want the local contents only you can use theFlag.CACHE_MODE_LOCALflag so that other remote nodes are not queried for data. However the loader will still be used unless the previously mentionedFlag.SKIP_CACHE_LOADis also configured.Iterator Use
This class implements the
CloseableIteratorCollectioninterface which creates aCloseableIteratorinstead of a regular one. This means this iterator must be explicitly closed either through try with resource or calling the close method directly. Technically this iterator will also close itself if you iterate fully over it, but it is safest to always make sure you close it explicitly.The iterator retrieved using
CloseableIteratorCollection.iterator()supports the remove method, however the iterator retrieved fromCacheStream.iterator()will not support remove.Unsupported Operations
Due to not being able to add null values the following methods are not supported and will throwUnsupportedOperationExceptionif invoked.Set.add(Object)Set.addAll(java.util.Collection) -
cacheEntrySet
Description copied from interface:AdvancedCacheIdentical toCache.entrySet()but is typed to return CacheEntries instead of Entries. Please see the other method for a description of its behaviors.This method is needed since nested generics do not support covariance
- Specified by:
cacheEntrySetin interfaceAdvancedCache<K,V> - Returns:
- the entry set containing all of the CacheEntries
- See Also:
-
lockedStream
Description copied from interface:AdvancedCacheReturns a sequential stream using this Cache as the source. This stream is very similar to using theCacheStreamreturned from theCacheCollection.stream()method of the collection returned viaAdvancedCache.cacheEntrySet(). The use of this locked stream is that when an entry is being processed by the user the entry is locked for the invocation preventing a different thread from modifying it.Note that this stream is not supported when using a optimistic transactional or simple cache. Both non transactional and pessimistic transactional caches are supported.
The stream will not share any ongoing transaction the user may have. Code executed by the stream should be treated as completely independent. That is any operation performed via the stream will require the user to start their own transaction or will be done intrinsically on the invocation. Note that if there is an ongoing transaction that has a lock on a key from the cache, that it will cause a deadlock.
Currently simple cache,
ConfigurationBuilder.simpleCache(boolean)was set to true, and optimistic caches,TransactionConfigurationBuilder.lockingMode(LockingMode)was set toLockingMode.OPTIMISTIC, do not support this method. In this case it will throw anUnsupportedOperationException. This restriction may be removed in a future version. Also this method cannot be used on a cache that has a lock owner already specified viaAdvancedCache.lockAs(Object)as this could lead to a deadlock or the release of locks early and will throw anIllegalStateException.- Specified by:
lockedStreamin interfaceAdvancedCache<K,V> - Returns:
- the locked stream
-
entrySet
Description copied from interface:CacheReturns a set view of the mappings contained in this cache and cache loader across the entire cluster. Modifications and changes to the cache will be reflected in the set and vice versa. When this method is called nothing is actually queried as the backing set is just returned. Invocation on the set itself is when the various operations are ran. Care should be taken when invokingSet.toArray(),Set.toArray(Object[]),Set.size(),Set.retainAll(Collection)andSet.iterator()methods as they will traverse the entire contents of the cluster including a configuredCacheLoaderand remote entries. The former 2 methods especially have a very high likely hood of causing aOutOfMemoryErrordue to storing all the keys in the entire cluster in the array. Use involving execution of this method on a production system is not recommended as they can be quite expensive operations *Supported Flags
Note any flag configured for the cache will also be passed along to the backing set when it was created. If additional flags are configured on the cache they will not affect any existing backings sets. If there are performance concerns then theFlag.SKIP_CACHE_LOADflag should be used to avoid hitting the cache store as this will cause all entries there to be read in (albeit in a batched form to preventOutOfMemoryError) Also if you want the local contents only you can use theFlag.CACHE_MODE_LOCALflag so that other remote nodes are not queried for data. However the loader will still be used unless the previously mentionedFlag.SKIP_CACHE_LOADis also configured.Modifying or Adding Entries
An entry's value is supported to be modified by using theMap.Entry.setValue(Object)and it will update the cache as well. Also this backing set does allow addition of a new Map.Entry(s) via theSet.add(Object)orSet.addAll(java.util.Collection)methods.Iterator Use
This class implements theCloseableIteratorSetinterface which creates aCloseableIteratorinstead of a regular one. This means this iterator must be explicitly closed either through try with resource or calling the close method directly. Technically this iterator will also close itself if you iterate fully over it, but it is safest to always make sure you close it explicitly. -
putForExternalRead
Description copied from interface:CacheUnder special operating behavior, associates the value with the specified key.- Only goes through if the
key specified does not exist; no-op otherwise (similar to
ConcurrentMap.putIfAbsent(Object, Object)) - Force asynchronous mode for replication to prevent any blocking.
- invalidation does not take place.
- 0ms lock timeout to prevent any blocking here either. If the lock is not acquired, this method is a no-op, and swallows the timeout exception.
- Ongoing transactions are suspended before this call, so failures here will not affect any ongoing transactions.
- Errors and exceptions are 'silent' - logged at a much lower level than normal, and this method does not throw exceptions
- Specified by:
putForExternalReadin interfaceCache<K,V> - Parameters:
key- key with which the specified value is to be associated.value- value to be associated with the specified key.
- Only goes through if the
key specified does not exist; no-op otherwise (similar to
-
putForExternalRead
Description copied from interface:CacheAn overloaded form ofCache.putForExternalRead(K, V), which takes in lifespan parameters.- Specified by:
putForExternalReadin interfaceCache<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- unit of measurement for the lifespan
-
putForExternalRead
public void putForExternalRead(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) Description copied from interface:CacheAn overloaded form ofCache.putForExternalRead(K, V), which takes in lifespan parameters.- Specified by:
putForExternalReadin interfaceCache<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespanmaxIdleTime- the maximum amount of time this key is allowed to be idle for before it is considered as expiredidleTimeUnit- time unit for max idle time
-
putForExternalRead
Description copied from interface:AdvancedCacheAn overloaded form of#putForExternalRead(K, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc. TheMetadatais only stored if the call is successful.- Specified by:
putForExternalReadin interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is to be associatedvalue- value to be associated with the specified keymetadata- information to store alongside the new value
-
evict
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. -
getCacheConfiguration
- Specified by:
getCacheConfigurationin interfaceCache<K,V>
-
addListenerAsync
Description copied from interface:ListenableAsynchronous version ofListenable.addListener(Object)- Specified by:
addListenerAsyncin interfaceListenable- Parameters:
listener- listener to add, must not be null- Returns:
- CompletionStage that when complete the listener is fully installed
-
addListenerAsync
public <C> CompletionStage<Void> addListenerAsync(Object listener, CacheEventFilter<? super K, ? super V> filter, CacheEventConverter<? super K, ? super V, C> converter) Description copied from interface:FilteringListenableAsynchronous version ofFilteringListenable.addListener(Object, CacheEventFilter, CacheEventConverter)- Specified by:
addListenerAsyncin interfaceFilteringListenable<K,V> - Parameters:
listener- listener to add, must not be null- Returns:
- CompletionStage that when complete the listener is fully installed
-
removeListenerAsync
Description copied from interface:ListenableAsynchronous version ofListenable.removeListener(Object)- Specified by:
removeListenerAsyncin interfaceListenable- Parameters:
listener- listener to remove, must not be null- Returns:
- CompletionStage that when complete the listener is fully removed
-
getListeners
Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
getListenersin interfaceListenable- Returns:
- a set of all listeners registered on this component.
-
addFilteredListenerAsync
public <C> CompletionStage<Void> addFilteredListenerAsync(Object listener, CacheEventFilter<? super K, ? super V> filter, CacheEventConverter<? super K, ? super V, C> converter, Set<Class<? extends Annotation>> filterAnnotations) Description copied from interface:FilteringListenableAsynchronous version ofFilteringListenable.addFilteredListener(Object, CacheEventFilter, CacheEventConverter, Set)- Specified by:
addFilteredListenerAsyncin interfaceFilteringListenable<K,V>
-
addStorageFormatFilteredListenerAsync
public <C> CompletionStage<Void> addStorageFormatFilteredListenerAsync(Object listener, CacheEventFilter<? super K, ? super V> filter, CacheEventConverter<? super K, ? super V, C> converter, Set<Class<? extends Annotation>> filterAnnotations) Description copied from interface:FilteringListenableAsynchronous version ofFilteringListenable.addStorageFormatFilteredListener(Object, CacheEventFilter, CacheEventConverter, Set)- Specified by:
addStorageFormatFilteredListenerAsyncin interfaceFilteringListenable<K,V>
-
lock
Description copied from interface:AdvancedCacheLocks a given key or keys eagerly across cache nodes in a cluster.Keys can be locked eagerly in the context of a transaction only.
- Specified by:
lockin interfaceAdvancedCache<K,V> - Parameters:
keys- the keys to lock- Returns:
- true if the lock acquisition attempt was successful for all keys; false will only be returned if
the lock acquisition timed out and the operation has been called with
Flag.FAIL_SILENTLY.
-
lock
Description copied from interface:AdvancedCacheLocks collections of keys eagerly across cache nodes in a cluster.Collections of keys can be locked eagerly in the context of a transaction only.
- Specified by:
lockin interfaceAdvancedCache<K,V> - Parameters:
keys- collection of keys to lock- Returns:
- true if the lock acquisition attempt was successful for all keys; false will only be returned if
the lock acquisition timed out and the operation has been called with
Flag.FAIL_SILENTLY.
-
start
@ManagedOperation(description="Starts the cache.", displayName="Starts cache.") public void start()Description copied from interface:LifecycleInvoked on component start -
stop
@ManagedOperation(description="Stops the cache.", displayName="Stops cache.") public void stop()Description copied from interface:CacheStops a cache. If the cache is clustered, this only stops the cache on the node where it is being invoked. If you need to stop the cache across a cluster, use theCache.shutdown()method. -
shutdown
@ManagedOperation(description="Shuts down the cache across the cluster", displayName="Clustered cache shutdown") public void shutdown()Description copied from interface:CachePerforms a controlled, clustered shutdown of the cache. When invoked, the following operations are performed:- rebalancing for the cache is disabled
- in-memory data is flushed/passivated to any persistent stores
- state is persisted to the location defined in
GlobalStateConfigurationBuilder.persistentLocation(String)
Cache.stop()only in clustered modes, and only whenGlobalStateConfiguration.enabled()is true, otherwise it just behaves likeCache.stop(). -
getAsyncInterceptorChain
Deprecated, for removal: This API element is subject to removal in a future version.Since 10.0, will be removed without a replacementDescription copied from interface:AdvancedCacheAllows the modification of the interceptor chain.- Specified by:
getAsyncInterceptorChainin interfaceAdvancedCache<K,V>
-
getEvictionManager
- Specified by:
getEvictionManagerin interfaceAdvancedCache<K,V> - Returns:
- the eviction manager - if one is configured - for this cache instance
-
getExpirationManager
- Specified by:
getExpirationManagerin interfaceAdvancedCache<K,V> - Returns:
- the expiration manager - if one is configured - for this cache instance
-
getComponentRegistry
- Specified by:
getComponentRegistryin interfaceAdvancedCache<K,V> - Returns:
- the component registry for this cache instance
-
getDistributionManager
Description copied from interface:AdvancedCacheRetrieves a reference to theDistributionManagerif the cache is configured to use Distribution. Otherwise, returns a null.- Specified by:
getDistributionManagerin interfaceAdvancedCache<K,V> - Returns:
- a DistributionManager, or null.
-
getAuthorizationManager
Description copied from interface:AdvancedCacheRetrieves theAuthorizationManagerif the cache has security enabled. Otherwise returns null- Specified by:
getAuthorizationManagerin interfaceAdvancedCache<K,V> - Returns:
- an AuthorizationManager or null
-
lockAs
Description copied from interface:AdvancedCacheWhenever this cache acquires a lock it will do so using the given Object as the owner of said lock.This can be useful when a lock may have been manually acquired and you wish to reuse that lock across invocations.
Great care should be taken with this command as misuse can very easily lead to deadlocks.
- Specified by:
lockAsin interfaceAdvancedCache<K,V> - Parameters:
lockOwner- the lock owner to lock any keys as- Returns:
- an
AdvancedCacheinstance on which when an operation is invoked it will use lock owner object to acquire any locks
-
getStatus
-
getCacheStatus
@ManagedAttribute(description="Returns the cache status", displayName="Cache status", dataType=TRAIT) public String getCacheStatus()Returns String representation of ComponentStatus enumeration in order to avoid class not found exceptions in JMX tools that don't have access to infinispan classes. -
getAvailability
Description copied from interface:AdvancedCacheReturns the cache's availability. In local mode this method will always returnAvailabilityMode.AVAILABLE. In clustered mode, thePartitionHandlingManageris queried to obtain the availability mode.- Specified by:
getAvailabilityin interfaceAdvancedCache<K,V>
-
setAvailability
Description copied from interface:AdvancedCacheManually change the availability of the cache. Doesn't change anything if the cache is not clustered orPartitionHandlingConfiguration.whenSplit()is set toPartitionHandling.ALLOW_READ_WRITES.- Specified by:
setAvailabilityin interfaceAdvancedCache<K,V>
-
getCacheAvailability
@ManagedAttribute(description="Returns the cache availability", displayName="Cache availability", dataType=TRAIT, writable=true) public String getCacheAvailability() -
isRebalancingEnabled
@ManagedAttribute(description="Returns whether cache rebalancing is enabled", displayName="Cache rebalacing", dataType=TRAIT, writable=true) public boolean isRebalancingEnabled() -
setRebalancingEnabled
public void setRebalancingEnabled(boolean enabled) -
startBatch
public boolean startBatch()Description copied from interface:BatchingCacheStarts a batch. All operations on the current client thread are performed as a part of this batch, with locks held for the duration of the batch and any remote calls delayed till the end of the batch.- Specified by:
startBatchin interfaceBatchingCache- Returns:
- true if a batch was successfully started; false if one was available and already running.
-
endBatch
public void endBatch(boolean successful) Description copied from interface:BatchingCacheCompletes a batch if one has been started usingBatchingCache.startBatch(). If no batch has been started, this is a no-op.- Specified by:
endBatchin interfaceBatchingCache- Parameters:
successful- if true, the batch completes, otherwise the batch is aborted and changes are not committed.
-
getName
Description copied from interface:BasicCacheRetrieves the name of the cache- Specified by:
getNamein interfaceBasicCache<K,V> - Returns:
- the name of the cache
-
getCacheName
@ManagedAttribute(description="Returns the cache name", displayName="Cache name", dataType=TRAIT) public String getCacheName()Returns the cache name. If this is the default cache, it returns a more friendly name. -
getVersion
@ManagedAttribute(description="Returns the version of Infinispan", displayName="Infinispan version", dataType=TRAIT) public String getVersion()Returns the version of Infinispan.- Specified by:
getVersionin interfaceBasicCache<K,V> - Returns:
- a version string
-
toString
-
touch
Description copied from interface:AdvancedCacheTouches the given key if present. This will refresh its last access time, used for max idle, and count as a recent access for eviction purposes.Note that it is possible to touch an entry that is expired via max idle if
touchEvenIfExpiredargument istrue.This method will return without blocking and complete the returned stage with a value after all appropriate nodes have actually touched the value.
- Specified by:
touchin interfaceAdvancedCache<K,V> - Parameters:
key- key of the entry to touchtouchEvenIfExpired- true if the entry should be touched even if already expired via max idle, effectively making it so the entry is no longer expired via max idle- Returns:
- true if the entry was actually touched
-
touch
Description copied from interface:AdvancedCacheThe same asAdvancedCache.touch(Object, boolean)except that the segment is already known. This can be helpful to reduce an extra segment computation- Specified by:
touchin interfaceAdvancedCache<K,V> - Parameters:
key- key of the entry to touchsegment- segment of the keytouchEvenIfExpired- true if the entry should be touched even if already expired via max idle, effectively making it so the entry is no longer expired via max idle- Returns:
- true if the entry was actually touched
-
touch
public CompletionStage<Boolean> touch(Object key, int segment, boolean touchEvenIfExpired, long flagBitSet) -
getBatchContainer
Description copied from interface:AdvancedCacheReturns the component in charge of batching cache operations.- Specified by:
getBatchContainerin interfaceAdvancedCache<K,V> - Returns:
- the batching component associated with this cache instance
-
getDataContainer
Description copied from interface:AdvancedCacheReturns the container where data is stored in the cache. Users should interact with this component with care because direct calls on it bypass the internal interceptors and other infrastructure in place to guarantee the consistency of data.- Specified by:
getDataContainerin interfaceAdvancedCache<K,V> - Returns:
- the data container associated with this cache instance
-
getTransactionManager
public javax.transaction.TransactionManager getTransactionManager()- Specified by:
getTransactionManagerin interfaceTransactionalCache- Returns:
- the
TransactionManagerin use by this cache ornullif the cache isn't transactional.
-
getLockManager
Description copied from interface:AdvancedCacheReturns the component that deals with all aspects of acquiring and releasing locks for cache entries.- Specified by:
getLockManagerin interfaceAdvancedCache<K,V> - Returns:
- retrieves the lock manager associated with this cache instance
-
getCacheManager
Description copied from interface:CacheRetrieves the cache manager responsible for creating this cache instance.- Specified by:
getCacheManagerin interfaceCache<K,V> - Returns:
- a cache manager
-
getStats
Description copied from interface:AdvancedCacheReturns aStatsobject that allows several statistics associated with this cache at runtime.- Specified by:
getStatsin interfaceAdvancedCache<K,V> - Returns:
- this cache's
Statsobject
-
getXAResource
Description copied from interface:AdvancedCacheReturns theXAResourceassociated with this cache which can be used to do transactional recovery.- Specified by:
getXAResourcein interfaceAdvancedCache<K,V> - Returns:
- an instance of
XAResource
-
put
public final V put(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) Description copied from interface:BasicCacheAn overloaded form ofBasicCache.put(Object, Object), which takes in lifespan parameters.- Specified by:
putin interfaceBasicCache<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespanmaxIdleTime- the maximum amount of time this key is allowed to be idle for before it is considered as expiredidleTimeUnit- time unit for max idle time- Returns:
- the value being replaced, or null if nothing is being replaced.
-
putIfAbsent
public final V putIfAbsent(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.putIfAbsent(Object, Object), which takes in lifespan parameters.- Specified by:
putIfAbsentin interfaceBasicCache<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespanmaxIdleTime- the maximum amount of time this key is allowed to be idle for before it is considered as expiredidleTimeUnit- time unit for max idle time- Returns:
- the value being replaced, or null if nothing is being replaced.
-
putAll
public final void putAll(Map<? extends K, ? extends V> map, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) Description copied from interface:BasicCacheAn overloaded form ofMap.putAll(Map), which takes in lifespan parameters. Note that the lifespan is applied to all mappings in the map passed in.- Specified by:
putAllin interfaceBasicCache<K,V> - Parameters:
map- map containing mappings to enterlifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespanmaxIdleTime- the maximum amount of time this key is allowed to be idle for before it is considered as expiredidleTimeUnit- time unit for max idle time
-
getAndPutAll
Description copied from interface:AdvancedCacheExecutes an equivalent ofMap.putAll(Map), returning previous values of the modified entries.- Specified by:
getAndPutAllin interfaceAdvancedCache<K,V> - Parameters:
map- 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.
-
replace
public final V replace(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.replace(Object, Object), which takes in lifespan parameters.- Specified by:
replacein interfaceBasicCache<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespanmaxIdleTime- the maximum amount of time this key is allowed to be idle for before it is considered as expiredidleTimeUnit- time unit for max idle time- Returns:
- the value being replaced, or null if nothing is being replaced.
-
replace
public final boolean replace(K key, V oldValue, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) Description copied from interface:BasicCacheAn overloaded form ofConcurrentMap.replace(Object, Object, Object), which takes in lifespan parameters.- Specified by:
replacein interfaceBasicCache<K,V> - Parameters:
key- key to useoldValue- value to replacevalue- value to storelifespan- lifespan of the entry. Negative values are interpreted as unlimited lifespan.lifespanUnit- time unit for lifespanmaxIdleTime- the maximum amount of time this key is allowed to be idle for before it is considered as expiredidleTimeUnit- time unit for max idle time- Returns:
- true if the value was replaced, false otherwise
-
putAsync
public final CompletableFuture<V> putAsync(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.put(Object, Object, long, TimeUnit, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
putAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of entrylifespanUnit- time unit for lifespanmaxIdle- the maximum amount of time this key is allowed to be idle for before it is considered as expiredmaxIdleUnit- time unit for max idle time- Returns:
- a future containing the old value replaced
-
putAllAsync
public final CompletableFuture<Void> putAllAsync(Map<? extends K, ? extends V> data, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.putAll(Map, long, TimeUnit, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
putAllAsyncin interfaceAsyncCache<K,V> - Parameters:
data- to storelifespan- lifespan of entrylifespanUnit- time unit for lifespanmaxIdle- the maximum amount of time this key is allowed to be idle for before it is considered as expiredmaxIdleUnit- time unit for max idle time- Returns:
- a future containing a void return type
-
putAllAsync
public final CompletableFuture<Void> putAllAsync(Map<? extends K, ? extends V> data, Metadata metadata) - Specified by:
putAllAsyncin interfaceAdvancedCache<K,V>
-
clearAsync
Description copied from interface:AsyncCacheAsynchronous version ofMap.clear(). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
clearAsyncin interfaceAsyncCache<K,V> - Returns:
- a future containing a void return type
-
putIfAbsentAsync
public final CompletableFuture<V> putIfAbsentAsync(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.putIfAbsent(Object, Object, long, TimeUnit, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
putIfAbsentAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of entrylifespanUnit- time unit for lifespanmaxIdle- the maximum amount of time this key is allowed to be idle for before it is considered as expiredmaxIdleUnit- time unit for max idle time- Returns:
- a future containing the old value replaced
-
putIfAbsentAsync
Description copied from interface:AdvancedCacheAn overloaded form of#putIfAbsentAsync(K, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc. TheMetadatais only stored if the call is successful.- Specified by:
putIfAbsentAsyncin interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is to be associatedvalue- value to be associated with the specified keymetadata- information to store alongside the new value- Returns:
- A future containing the previous value associated with the specified key, or null if there was no mapping for the key.
-
putIfAbsentAsyncEntry
Description copied from interface:AdvancedCacheAn extension form ofAdvancedCache.putIfAbsentAsync(K, V, Metadata), which returns aCacheEntryinstead of only the value.- Specified by:
putIfAbsentAsyncEntryin interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is to be associatedvalue- value to be associated with the specified keymetadata- information to store alongside the new value- Returns:
- the future that contains previous
CacheEntryassociated with the specified key, or null if there was no mapping for the key. - See Also:
-
removeAsync
Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.remove(Object). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
removeAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to remove- Returns:
- a future containing the value removed
-
removeAsyncEntry
Description copied from interface:AdvancedCacheAn extension ofAsyncCache.removeAsync(Object), which returns aCacheEntryinstead of only the value.- Specified by:
removeAsyncEntryin interfaceAdvancedCache<K,V> - Parameters:
key- key to remove- Returns:
- a future containing the
CacheEntryremoved ornullif not found. - See Also:
-
removeAsync
Description copied from interface:AsyncCacheAsynchronous version ofConcurrentMap.remove(Object, Object). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
removeAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to removevalue- value to match on- Returns:
- a future containing a boolean, indicating whether the entry was removed or not
-
replaceAsync
public final CompletableFuture<V> replaceAsync(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.replace(Object, Object, long, TimeUnit, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
replaceAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to removevalue- value to storelifespan- lifespan of entrylifespanUnit- time unit for lifespanmaxIdle- the maximum amount of time this key is allowed to be idle for before it is considered as expiredmaxIdleUnit- time unit for max idle time- Returns:
- a future containing the previous value overwritten
-
replaceAsync
Description copied from interface:AdvancedCacheAn overloaded form of#replaceAsync(K, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc. TheMetadatais only stored if the call is successful.- Specified by:
replaceAsyncin interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is associatedvalue- value to be associated with the specified keymetadata- information to store alongside the new value- Returns:
- the future that contains previous value associated with the specified key, or null if there was no mapping for the key.
-
replaceAsyncEntry
Description copied from interface:AdvancedCacheAn extension ofAdvancedCache.replaceAsync(K, V, Metadata), which returns aCacheEntryinstead of only the value.- Specified by:
replaceAsyncEntryin interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is associatedvalue- value to be associated with the specified keymetadata- information to store alongside the new value- Returns:
- the future that contains previous
CacheEntryassociated with the specified key, or null if there was no mapping for the key. - See Also:
-
replaceAsync
public final CompletableFuture<Boolean> replaceAsync(K key, V oldValue, V newValue, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.replace(Object, Object, Object, long, TimeUnit, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
replaceAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to removeoldValue- value to overwritenewValue- value to storelifespan- lifespan of entrylifespanUnit- time unit for lifespanmaxIdle- the maximum amount of time this key is allowed to be idle for before it is considered as expiredmaxIdleUnit- time unit for max idle time- Returns:
- a future containing a boolean, indicating whether the entry was replaced or not
-
replaceAsync
public final CompletableFuture<Boolean> replaceAsync(K key, V oldValue, V newValue, Metadata metadata) - Specified by:
replaceAsyncin interfaceAdvancedCache<K,V>
-
getAsync
Description copied from interface:AsyncCacheAsynchronous version ofMap.get(Object)that allows user code to retrieve the value associated with a key at a later stage, hence allowing multiple parallel get requests to be sent. Normally, when this method detects that the value is likely to be retrieved from from a remote entity, it will span a different thread in order to allow the asynchronous get call to return immediately. If the call will definitely resolve locally, for example when the cache is configured with LOCAL mode and no stores are configured, the get asynchronous call will act sequentially and will have no different toMap.get(Object).- Specified by:
getAsyncin interfaceAsyncCache<K,V> - Parameters:
key- key to retrieve- Returns:
- a future that can be used to retrieve value associated with the
key when this is available. The actual value returned by the future
follows the same rules as
Map.get(Object)
-
computeAsync
public CompletableFuture<V> computeAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) Description copied from interface:AsyncCacheAsynchronous version ofConcurrentMap.compute(Object, BiFunction). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
computeAsyncin interfaceAsyncCache<K,V>
-
computeAsync
public CompletableFuture<V> computeAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, Metadata metadata) Description copied from interface:AdvancedCacheOverloaded#computeAsync(K, BiFunction), which stores metadata alongside the value. This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
computeAsyncin interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is associatedremappingFunction- function to be applied to the specified key/valuemetadata- information to store alongside the new value- Returns:
- the previous value associated with the specified key, or null if remapping function is gives null.
-
computeAsync
public CompletableFuture<V> computeAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.compute(Object, BiFunction, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
computeAsyncin interfaceAsyncCache<K,V>
-
computeAsync
public CompletableFuture<V> computeAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.compute(Object, BiFunction, long, TimeUnit, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
computeAsyncin interfaceAsyncCache<K,V>
-
computeIfPresentAsync
public CompletableFuture<V> computeIfPresentAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) Description copied from interface:AsyncCacheAsynchronous version ofConcurrentMap.computeIfPresent(Object, BiFunction). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
computeIfPresentAsyncin interfaceAsyncCache<K,V>
-
computeIfPresentAsync
public CompletableFuture<V> computeIfPresentAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, Metadata metadata) Description copied from interface:AdvancedCacheOverloaded#computeIfPresentAsync(K, BiFunction), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc. TheMetadatais only stored if the call is successful.- Specified by:
computeIfPresentAsyncin interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is associatedremappingFunction- function to be applied to the specified key/valuemetadata- information to store alongside the new value- Returns:
- the previous value associated with the specified key, or null if there was no mapping for the key.
-
computeIfPresentAsync
public CompletableFuture<V> computeIfPresentAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.computeIfPresent(Object, BiFunction, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
computeIfPresentAsyncin interfaceAsyncCache<K,V>
-
computeIfPresentAsync
public CompletableFuture<V> computeIfPresentAsync(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.computeIfPresent(Object, BiFunction, long, TimeUnit, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
computeIfPresentAsyncin interfaceAsyncCache<K,V>
-
computeIfAbsentAsync
public CompletableFuture<V> computeIfAbsentAsync(K key, Function<? super K, ? extends V> mappingFunction) Description copied from interface:AsyncCacheAsynchronous version ofConcurrentMap.computeIfAbsent(Object, Function). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
computeIfAbsentAsyncin interfaceAsyncCache<K,V>
-
computeIfAbsentAsync
public CompletableFuture<V> computeIfAbsentAsync(K key, Function<? super K, ? extends V> mappingFunction, Metadata metadata) Description copied from interface:AdvancedCacheOverloaded#computeIfAbsentAsync(K, Function), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc. TheMetadatais only stored if the call is successful.- Specified by:
computeIfAbsentAsyncin interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is associatedmappingFunction- function to be applied to the specified keymetadata- information to store alongside the new value- Returns:
- the value created with the mapping function associated with the specified key, or the previous value associated with the specified key if the key is not absent.
-
computeIfAbsentAsync
public CompletableFuture<V> computeIfAbsentAsync(K key, Function<? super K, ? extends V> mappingFunction, long lifespan, TimeUnit lifespanUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.computeIfAbsent(Object, Function, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
computeIfAbsentAsyncin interfaceAsyncCache<K,V>
-
computeIfAbsentAsync
public CompletableFuture<V> computeIfAbsentAsync(K key, Function<? super K, ? extends V> mappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdle, TimeUnit maxIdleUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.computeIfAbsent(Object, Function, long, TimeUnit, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
computeIfAbsentAsyncin interfaceAsyncCache<K,V>
-
mergeAsync
public CompletableFuture<V> mergeAsync(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) Description copied from interface:AsyncCacheAsynchronous version ofConcurrentMap.merge(Object, Object, BiFunction). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
mergeAsyncin interfaceAsyncCache<K,V>
-
mergeAsync
public CompletableFuture<V> mergeAsync(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.merge(Object, Object, BiFunction, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
mergeAsyncin interfaceAsyncCache<K,V>
-
mergeAsync
public CompletableFuture<V> mergeAsync(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit idleTimeUnit) Description copied from interface:AsyncCacheAsynchronous version ofBasicCache.merge(Object, Object, BiFunction, long, TimeUnit, long, TimeUnit). This method does not block on remote calls, even if your cache mode is synchronous.- Specified by:
mergeAsyncin interfaceAsyncCache<K,V>
-
mergeAsync
public CompletableFuture<V> mergeAsync(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, Metadata metadata) Description copied from interface:AdvancedCacheOverloadedAsyncCache.mergeAsync(Object, Object, BiFunction), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc. TheMetadatais only stored if the call is successful.- Specified by:
mergeAsyncin interfaceAdvancedCache<K,V> - Parameters:
key- , key with which the resulting value is to be associatedvalue- , the non-null value to be merged with the existing value associated with the key or, if no existing value or a null value is associated with the key, to be associated with the keyremappingFunction- , the function to recompute a value if presentmetadata- , information to store alongside the new value- Returns:
- the new value associated with the specified key, or null if no value is associated with the key
-
getAdvancedCache
- Specified by:
getAdvancedCachein interfaceCache<K,V>
-
getRpcManager
Description copied from interface:AdvancedCacheReturns the component in charge of communication with other caches in the cluster. If the cache'sClusteringConfiguration.cacheMode()isCacheMode.LOCAL, this method will return null.- Specified by:
getRpcManagerin interfaceAdvancedCache<K,V> - Returns:
- the RPC manager component associated with this cache instance or null
-
withFlags
Description copied from interface:AdvancedCacheAn alternative toAdvancedCache.withFlags(Flag...)optimized for a single flag.- Specified by:
withFlagsin interfaceAdvancedCache<K,V>
-
withFlags
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> - 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.
-
withFlags
Description copied from interface:AdvancedCacheAn alternative toAdvancedCache.withFlags(Flag...)not requiring array allocation.- Specified by:
withFlagsin interfaceAdvancedCache<K,V>
-
noFlags
Description copied from interface:AdvancedCacheUnset all flags set on this cache usingAdvancedCache.withFlags(Flag...)orAdvancedCache.withFlags(Collection)methods.- Specified by:
noFlagsin interfaceAdvancedCache<K,V> - Returns:
- Cache not applying any flags to the command; possibly
this.
-
transform
public AdvancedCache<K,V> transform(Function<AdvancedCache<K, V>, ? extends AdvancedCache<K, V>> transformation) Description copied from interface:AdvancedCacheApply thetransformationon eachAdvancedCacheinstance in a delegation chain, starting with the innermost implementation.- Specified by:
transformin interfaceAdvancedCache<K,V> - Returns:
- The outermost transformed cache.
-
withSubject
Description copied from interface:AdvancedCachePerforms any cache operations using the specifiedSubject. Only applies to caches with authorization enabled (seeConfigurationBuilder.security()).- Specified by:
withSubjectin interfaceAdvancedCache<K,V> - Returns:
- an
AdvancedCacheinstance on which a real operation is to be invoked, using the specified subject
-
getClassLoader
Description copied from interface:AdvancedCacheReturns the cache loader associated associated with this cache. As an alternative to setting this on every invocation, users could also consider using theDecoratedCachewrapper.- Specified by:
getClassLoaderin interfaceAdvancedCache<K,V> - Returns:
- this cache's cache loader
-
with
- Specified by:
within interfaceAdvancedCache<K,V>
-
put
Description copied from interface:AdvancedCacheAn overloaded form of#put(K, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc.- Specified by:
putin interfaceAdvancedCache<K,V> - Parameters:
key- key to usevalue- value to storemetadata- information to store alongside the value- Returns:
- the previous value associated with key, or null if there was no mapping for key.
-
putAll
Description copied from interface:AdvancedCacheAn overloaded form ofMap.putAll(Map), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entries being stored, such as lifespan, version of value...etc.- Specified by:
putAllin interfaceAdvancedCache<K,V> - Parameters:
map- the values to storemetadata- information to store alongside the value(s)
-
replace
Description copied from interface:AdvancedCacheAn overloaded form of#replace(K, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc. TheMetadatais only stored if the call is successful.- Specified by:
replacein interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is associatedvalue- value to be associated with the specified keymetadata- information to store alongside the new value- Returns:
- the previous value associated with the specified key, or null if there was no mapping for the key.
-
replace
Description copied from interface:AdvancedCacheAn overloaded form of#replace(K, V, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc. TheMetadatais only stored if the call is successful.- Specified by:
replacein interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is associatedoldValue- value expected to be associated with the specified keyvalue- value to be associated with the specified keymetadata- information to store alongside the new value- Returns:
- true if the value was replaced
-
putIfAbsent
Description copied from interface:AdvancedCacheAn overloaded form of#putIfAbsent(K, V), which takes in an instance ofMetadatawhich can be used to provide metadata information for the entry being stored, such as lifespan, version of value...etc. TheMetadatais only stored if the call is successful.- Specified by:
putIfAbsentin interfaceAdvancedCache<K,V> - Parameters:
key- key with which the specified value is to be associatedvalue- value to be associated with the specified keymetadata- information to store alongside the new value- Returns:
- the previous value associated with the specified key, or null if there was no mapping for the key.
-
putAsync
Description copied from interface:AdvancedCacheAsynchronous version ofAdvancedCache.put(Object, Object, Metadata)which stores metadata alongside the value. This method does not block on remote calls, even if your cache mode is synchronous. Has no benefit overAdvancedCache.put(Object, Object, Metadata)if used in LOCAL mode.- Specified by:
putAsyncin interfaceAdvancedCache<K,V> - Parameters:
key- key to usevalue- value to storemetadata- information to store alongside the new value- Returns:
- a future containing the old value replaced.
-
putAsyncEntry
Description copied from interface:AdvancedCacheExtension ofAdvancedCache.putAsync(K, V, Metadata)which returns aCacheEntryinstead of only the previous value.- Specified by:
putAsyncEntryin interfaceAdvancedCache<K,V> - Parameters:
key- key to usevalue- value to storemetadata- information to store alongside the new value- Returns:
- a future containing the old
CacheEntryreplaced.
-
getConfigurationAsProperties
@ManagedAttribute(description="Returns the cache configuration in form of properties", displayName="Cache configuration properties", dataType=TRAIT) public Properties getConfigurationAsProperties() -
defaultContextBuilderForWrite
- Returns:
- The default
ContextBuilderimplementation for write operations.
-