Class RemoteCacheImpl<K,V>
- All Implemented Interfaces:
ConcurrentMap<K,,V> Map<K,,V> InternalRemoteCache<K,,V> RemoteCache<K,,V> AsyncCache<K,,V> BasicCache<K,,V> Lifecycle,TransactionalCache
- Since:
- 4.1
- Author:
- Mircea.Markus@jboss.com
-
Nested Class Summary
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ClientStatisticsprotected org.infinispan.client.hotrod.impl.operations.OperationsFactoryFields inherited from class org.infinispan.client.hotrod.impl.RemoteCacheSupport
defaultLifespan, defaultMaxIdleTime -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRemoteCacheImpl(RemoteCacheManager rcm, String name, ClientStatistics clientStatistics) RemoteCacheImpl(RemoteCacheManager rcm, String name, TimeService timeService) RemoteCacheImpl(RemoteCacheManager rcm, String name, TimeService timeService, NearCacheService<K, V> nearCacheService) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddClientListener(Object listener) Add a client listener to receive events that happen in the remote cache.voidaddClientListener(Object listener, Object[] filterFactoryParams, Object[] converterFactoryParams) Add a client listener to receive events that happen in the remote cache.addNearCacheListener(Object listener, int bloomBits) Add a client listener to handle near cache with bloom filter optimization The listener object must be annotated with @ClientListenerannotation.protected voidAsynchronous version ofMap.clear().Returns client-side statistics for this cache.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).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).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).containsKeyAsync(K key) Asynchronous version ofMap.containsKey(Object)booleancontainsValue(Object value) entryIterator(IntSet segments) This method is identical toRemoteCache.entrySet()except that it will only return entries that map to the given segments.<T> TExecutes a remote task passing a set of named parameters<T> TExecutes a remote task passing a set of named parameters, hinting that the task should be executed on the server that is expected to store given key.getAllAsync(Set<?> keys) TODO This should be in AdvancedCache with getAllAsynchronous 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.ReturnsCacheTopologyInfofor this cache.Return the currentlyDataFormatbeing used.Deprecated, for removal: This API element is subject to removal in a future version.getName()Retrieves the name of the cacheorg.infinispan.client.hotrod.impl.operations.OperationsFactoryReturns the HotRod protocol version supported by this RemoteCache implementationReturns theRemoteCacheContainerthat created this cache.Retrieves the version of InfinispangetWithMetadataAsync(K key) Asynchronously returns theMetadataValueassociated to the supplied key param, or null if it doesn't exist.org.infinispan.client.hotrod.impl.operations.RetryAwareCompletionStage<MetadataValue<V>>getWithMetadataAsync(K key, SocketAddress preferredAddres) booleanvoidinit(org.infinispan.client.hotrod.impl.operations.OperationsFactory operationsFactory, Configuration configuration) Inititalize without mbeansvoidinit(org.infinispan.client.hotrod.impl.operations.OperationsFactory operationsFactory, Configuration configuration, ObjectName jmxParent) booleanisEmpty()booleanbooleankeyIterator(IntSet segments) This method is identical toRemoteCache.keySet()except that it will only return keys that map to the given segments.byte[]keyToBytes(Object o) mergeAsync(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) Asynchronous version ofBasicCache.merge(Object, Object, BiFunction, long, TimeUnit, long, TimeUnit).CompletionStage<org.infinispan.client.hotrod.impl.operations.PingResponse>ping()publishEntries(String filterConverterFactory, Object[] filterConverterParams, Set<Integer> segments, int batchSize) Publishes the entries from the server in a non blocking fashion.publishEntriesByQuery(Query<?> filterQuery, Set<Integer> segments, int batchSize) Publish entries from the server matching a query.org.reactivestreams.Publisher<Map.Entry<K,MetadataValue<V>>> publishEntriesWithMetadata(Set<Integer> segments, int batchSize) Publish entries with metadata informationputAllAsync(Map<? extends K, ? extends V> map, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) Adds or overrides each specified entry in the remote cache.putAsync(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) Asynchronous version ofBasicCache.put(Object, Object, long, TimeUnit, long, TimeUnit).putIfAbsentAsync(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) Asynchronous version ofBasicCache.putIfAbsent(Object, Object, long, TimeUnit, long, TimeUnit).removeAsync(Object key) Asynchronous version ofBasicCache.remove(Object).removeAsync(Object key, Object value) Asynchronous version ofConcurrentMap.remove(Object, Object).voidremoveClientListener(Object listener) Remove a previously added client listener.removeWithVersionAsync(K key, long version) voidreplaceAll(BiFunction<? super K, ? super V, ? extends V> function) replaceAsync(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) Asynchronous version ofBasicCache.replace(Object, Object, long, TimeUnit, long, TimeUnit).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).replaceWithVersionAsync(K key, V newValue, long version, long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit) voidresolveStorage(boolean objectStorage) voidresolveStorage(MediaType key, MediaType value, boolean objectStorage) retrieveEntries(String filterConverterFactory, Object[] filterConverterParams, Set<Integer> segments, int batchSize) Retrieve entries from the server.retrieveEntriesByQuery(Query<?> filterQuery, Set<Integer> segments, int batchSize) Retrieve entries from the server matching a query.retrieveEntriesWithMetadata(Set<Integer> segments, int batchSize) Retrieve entries with metadata informationReturns server-side statistics for this cache.Returns server-side statistics for this cache.Asynchronous version ofMap.size().voidstart()Invoked on component startvoidstop()Invoked on component stopReturns a cache where values are manipulated usingInputStreamandOutputStreamtoString()Sends the current bloom filter to the listener node where a near cache listener is installed.This method is identical toRemoteCache.values()except that it will only return values that map to the given segments.protected byte[]<T,U> InternalRemoteCache<T, U> withDataFormat(DataFormat newDataFormat) Return a new instance ofRemoteCacheusing the suppliedDataFormat.Applies one or moreFlags to the scope of a single invocation.Methods inherited from class org.infinispan.client.hotrod.impl.RemoteCacheSupport
clear, compute, compute, compute, computeAsync, computeAsync, computeIfAbsent, computeIfAbsent, computeIfAbsent, computeIfAbsentAsync, computeIfAbsentAsync, computeIfPresent, computeIfPresent, computeIfPresent, computeIfPresentAsync, computeIfPresentAsync, containsKey, get, getAll, getWithMetadata, merge, merge, merge, mergeAsync, mergeAsync, put, put, put, putAll, putAll, putAll, putAllAsync, putAllAsync, putAsync, putAsync, putIfAbsent, putIfAbsent, putIfAbsent, putIfAbsentAsync, putIfAbsentAsync, remove, remove, removeWithVersion, replace, replace, replace, replace, replace, replace, replaceAsync, replaceAsync, replaceAsync, replaceAsync, replaceWithVersion, replaceWithVersion, replaceWithVersion, replaceWithVersion, replaceWithVersionAsync, replaceWithVersionAsync, replaceWithVersionAsync, sizeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.infinispan.commons.api.AsyncCache
computeAsync, computeAsync, computeIfAbsentAsync, computeIfAbsentAsync, computeIfPresentAsync, computeIfPresentAsync, mergeAsync, mergeAsync, putAsync, putAsync, putIfAbsentAsync, putIfAbsentAsync, replaceAsync, replaceAsync, replaceAsync, replaceAsyncMethods inherited from interface org.infinispan.commons.api.BasicCache
compute, compute, computeIfAbsent, computeIfAbsent, computeIfPresent, computeIfPresent, merge, merge, put, put, put, putIfAbsent, putIfAbsent, replace, replaceMethods inherited from interface java.util.concurrent.ConcurrentMap
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, replaceMethods inherited from interface org.infinispan.client.hotrod.impl.InternalRemoteCache
removeEntry, removeEntryMethods inherited from interface org.infinispan.client.hotrod.RemoteCache
entrySet, execute, getAll, getRemoteCacheManager, getWithMetadata, keySet, putAll, putAll, putAll, putAllAsync, putAllAsync, remove, remove, removeWithVersion, replace, replace, replace, replaceWithVersion, replaceWithVersion, replaceWithVersion, replaceWithVersion, replaceWithVersionAsync, replaceWithVersionAsync, replaceWithVersionAsync, retrieveEntries, retrieveEntries, stats, valuesMethods inherited from interface org.infinispan.commons.api.TransactionalCache
getTransactionManager
-
Field Details
-
operationsFactory
protected org.infinispan.client.hotrod.impl.operations.OperationsFactory operationsFactory -
clientStatistics
-
-
Constructor Details
-
RemoteCacheImpl
-
RemoteCacheImpl
public RemoteCacheImpl(RemoteCacheManager rcm, String name, TimeService timeService, NearCacheService<K, V> nearCacheService) -
RemoteCacheImpl
-
-
Method Details
-
init
public void init(org.infinispan.client.hotrod.impl.operations.OperationsFactory operationsFactory, Configuration configuration, ObjectName jmxParent) - Specified by:
initin interfaceInternalRemoteCache<K,V>
-
init
public void init(org.infinispan.client.hotrod.impl.operations.OperationsFactory operationsFactory, Configuration configuration) Inititalize without mbeans- Specified by:
initin interfaceInternalRemoteCache<K,V>
-
getOperationsFactory
public org.infinispan.client.hotrod.impl.operations.OperationsFactory getOperationsFactory()- Specified by:
getOperationsFactoryin interfaceInternalRemoteCache<K,V>
-
getRemoteCacheContainer
Description copied from interface:RemoteCacheReturns theRemoteCacheContainerthat created this cache.- Specified by:
getRemoteCacheContainerin interfaceRemoteCache<K,V>
-
removeWithVersionAsync
- Specified by:
removeWithVersionAsyncin interfaceRemoteCache<K,V> - Specified by:
removeWithVersionAsyncin classRemoteCacheSupport<K,V> - See Also:
-
mergeAsync
public CompletableFuture<V> mergeAsync(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) 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> - Specified by:
mergeAsyncin classRemoteCacheSupport<K,V>
-
replaceWithVersionAsync
public CompletableFuture<Boolean> replaceWithVersionAsync(K key, V newValue, long version, long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit) - Specified by:
replaceWithVersionAsyncin interfaceRemoteCache<K,V> - See Also:
-
retrieveEntries
public CloseableIterator<Map.Entry<Object,Object>> retrieveEntries(String filterConverterFactory, Object[] filterConverterParams, Set<Integer> segments, int batchSize) Description copied from interface:RemoteCacheRetrieve entries from the server.- Specified by:
retrieveEntriesin interfaceRemoteCache<K,V> - Parameters:
filterConverterFactory- Factory name for the KeyValueFilterConverter or null for no filtering.filterConverterParams- Parameters to the KeyValueFilterConvertersegments- The segments to iterate. If null all segments will be iterated. An empty set will filter out all entries.batchSize- The number of entries transferred from the server at a time.- Returns:
- Iterator for the entries
-
publishEntries
public <E> org.reactivestreams.Publisher<Map.Entry<K,E>> publishEntries(String filterConverterFactory, Object[] filterConverterParams, Set<Integer> segments, int batchSize) Description copied from interface:RemoteCachePublishes the entries from the server in a non blocking fashion.Any subscriber that subscribes to the returned Publisher must not block. It is therefore recommended to offload any blocking or long running operations to a different thread and not use the invoking one. Failure to do so may cause concurrent operations to stall.
- Specified by:
publishEntriesin interfaceRemoteCache<K,V> - Parameters:
filterConverterFactory- Factory name for the KeyValueFilterConverter or null for no filtering.filterConverterParams- Parameters to the KeyValueFilterConvertersegments- The segments to utilize. If null all segments will be utilized. An empty set will filter out all entries.batchSize- The number of entries transferred from the server at a time.- Returns:
- Publisher for the entries
-
retrieveEntriesByQuery
public CloseableIterator<Map.Entry<Object,Object>> retrieveEntriesByQuery(Query<?> filterQuery, Set<Integer> segments, int batchSize) Description copied from interface:RemoteCacheRetrieve entries from the server matching a query.- Specified by:
retrieveEntriesByQueryin interfaceRemoteCache<K,V> - Parameters:
filterQuery-Querysegments- The segments to iterate. If null all segments will be iterated. An empty set will filter out all entries.batchSize- The number of entries transferred from the server at a time.- Returns:
CloseableIterator
-
publishEntriesByQuery
public <E> org.reactivestreams.Publisher<Map.Entry<K,E>> publishEntriesByQuery(Query<?> filterQuery, Set<Integer> segments, int batchSize) Description copied from interface:RemoteCachePublish entries from the server matching a query.Any subscriber that subscribes to the returned Publisher must not block. It is therefore recommended to offload any blocking or long running operations to a different thread and not use the invoking one. Failure to do so may cause concurrent operations to stall.
- Specified by:
publishEntriesByQueryin interfaceRemoteCache<K,V> - Parameters:
filterQuery-Querysegments- The segments to utilize. If null all segments will be utilized. An empty set will filter out all entries.batchSize- The number of entries transferred from the server at a time.- Returns:
- Publisher containing matching entries
-
retrieveEntriesWithMetadata
public CloseableIterator<Map.Entry<Object,MetadataValue<Object>>> retrieveEntriesWithMetadata(Set<Integer> segments, int batchSize) Description copied from interface:RemoteCacheRetrieve entries with metadata information- Specified by:
retrieveEntriesWithMetadatain interfaceRemoteCache<K,V>
-
publishEntriesWithMetadata
public org.reactivestreams.Publisher<Map.Entry<K,MetadataValue<V>>> publishEntriesWithMetadata(Set<Integer> segments, int batchSize) Description copied from interface:RemoteCachePublish entries with metadata informationAny subscriber that subscribes to the returned Publisher must not block. It is therefore recommended to offload any blocking or long running operations to a different thread and not use the invoking one. Failure to do so may cause concurrent operations to stall.
- Specified by:
publishEntriesWithMetadatain interfaceRemoteCache<K,V> - Parameters:
segments- The segments to utilize. If null all segments will be utilized. An empty set will filter out all entries.batchSize- The number of entries transferred from the server at a time.- Returns:
- Publisher containing entries along with metadata
-
getWithMetadataAsync
Description copied from interface:RemoteCacheAsynchronously returns theMetadataValueassociated to the supplied key param, or null if it doesn't exist.- Specified by:
getWithMetadataAsyncin interfaceRemoteCache<K,V> - Specified by:
getWithMetadataAsyncin classRemoteCacheSupport<K,V>
-
getWithMetadataAsync
public org.infinispan.client.hotrod.impl.operations.RetryAwareCompletionStage<MetadataValue<V>> getWithMetadataAsync(K key, SocketAddress preferredAddres) - Specified by:
getWithMetadataAsyncin interfaceInternalRemoteCache<K,V>
-
putAllAsync
public CompletableFuture<Void> putAllAsync(Map<? extends K, ? extends V> map, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) Description copied from interface:RemoteCacheAdds or overrides each specified entry in the remote cache. This operation provides better performance than calling put() for each entry.- Specified by:
putAllAsyncin interfaceAsyncCache<K,V> - Specified by:
putAllAsyncin interfaceRemoteCache<K,V> - Specified by:
putAllAsyncin classRemoteCacheSupport<K,V> - Parameters:
map- to storelifespan- lifespan of entrylifespanUnit- 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:
- a future containing a void return type
- See Also:
-
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> - Specified by:
sizeAsyncin classRemoteCacheSupport<K,V> - Returns:
- a future containing the count of the cache
-
isEmpty
public boolean isEmpty() -
clientStatistics
Description copied from interface:RemoteCacheReturns client-side statistics for this cache.- Specified by:
clientStatisticsin interfaceInternalRemoteCache<K,V> - Specified by:
clientStatisticsin interfaceRemoteCache<K,V>
-
serverStatistics
Description copied from interface:RemoteCacheReturns server-side statistics for this cache.- Specified by:
serverStatisticsin interfaceRemoteCache<K,V>
-
serverStatisticsAsync
Description copied from interface:RemoteCacheReturns server-side statistics for this cache.- Specified by:
serverStatisticsAsyncin interfaceRemoteCache<K,V>
-
putAsync
public CompletableFuture<V> putAsync(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) 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> - Specified by:
putAsyncin classRemoteCacheSupport<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of entrylifespanUnit- 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:
- a future containing the old value replaced
-
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
-
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> - Specified by:
computeAsyncin classRemoteCacheSupport<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> - Specified by:
computeIfAbsentAsyncin classRemoteCacheSupport<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> - Specified by:
computeIfPresentAsyncin classRemoteCacheSupport<K,V>
-
replaceAll
- Specified by:
replaceAllin interfaceConcurrentMap<K,V> - Specified by:
replaceAllin interfaceMap<K,V> - Specified by:
replaceAllin classRemoteCacheSupport<K,V>
-
putIfAbsentAsync
public CompletableFuture<V> putIfAbsentAsync(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) 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> - Specified by:
putIfAbsentAsyncin classRemoteCacheSupport<K,V> - Parameters:
key- key to usevalue- value to storelifespan- lifespan of entrylifespanUnit- 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:
- a future containing the old value replaced
-
replaceAsync
public 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> - Specified by:
replaceAsyncin classRemoteCacheSupport<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
-
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> - Specified by:
removeAsyncin classRemoteCacheSupport<K,V> - Parameters:
key- key to remove- Returns:
- a future containing the value removed
-
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> - Specified by:
removeAsyncin classRemoteCacheSupport<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 CompletableFuture<V> replaceAsync(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) 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> - Specified by:
replaceAsyncin classRemoteCacheSupport<K,V> - Parameters:
key- key to removevalue- value to storelifespan- lifespan of entrylifespanUnit- 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:
- a future containing the previous value overwritten
-
containsKeyAsync
Description copied from interface:AsyncCacheAsynchronous version ofMap.containsKey(Object)- Specified by:
containsKeyAsyncin interfaceAsyncCache<K,V> - Specified by:
containsKeyAsyncin classRemoteCacheSupport<K,V> - Parameters:
key- key to retrieve- Returns:
- future containing true if the mapping exists.
-
containsValue
- Specified by:
containsValuein interfaceMap<K,V>
-
getAllAsync
Description copied from interface:AsyncCacheTODO This should be in AdvancedCache with getAll- Specified by:
getAllAsyncin interfaceAsyncCache<K,V> - Specified by:
getAllAsyncin classRemoteCacheSupport<K,V>
-
start
public void start()Description copied from interface:LifecycleInvoked on component start -
stop
public void stop()Description copied from interface:LifecycleInvoked on component stop -
getName
Description copied from interface:BasicCacheRetrieves the name of the cache- Specified by:
getNamein interfaceBasicCache<K,V> - Returns:
- the name of the cache
-
getVersion
Description copied from interface:BasicCacheRetrieves the version of Infinispan- Specified by:
getVersionin interfaceBasicCache<K,V> - Returns:
- a version string
-
getProtocolVersion
Description copied from interface:RemoteCacheReturns the HotRod protocol version supported by this RemoteCache implementation- Specified by:
getProtocolVersionin interfaceRemoteCache<K,V>
-
addClientListener
Description copied from interface:RemoteCacheAdd a client listener to receive events that happen in the remote cache. The listener object must be annotated with @ClientListenerannotation.- Specified by:
addClientListenerin interfaceRemoteCache<K,V>
-
addClientListener
public void addClientListener(Object listener, Object[] filterFactoryParams, Object[] converterFactoryParams) Description copied from interface:RemoteCacheAdd a client listener to receive events that happen in the remote cache. The listener object must be annotated with @ClientListener annotation.- Specified by:
addClientListenerin interfaceRemoteCache<K,V>
-
addNearCacheListener
Description copied from interface:InternalRemoteCacheAdd a client listener to handle near cache with bloom filter optimization The listener object must be annotated with @ClientListenerannotation.- Specified by:
addNearCacheListenerin interfaceInternalRemoteCache<K,V>
-
removeClientListener
Description copied from interface:RemoteCacheRemove a previously added client listener. If the listener was not added before, this operation is a no-op.- Specified by:
removeClientListenerin interfaceRemoteCache<K,V>
-
getListeners
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:RemoteCacheReturns a set with all the listeners registered by this client for the given cache.- Specified by:
getListenersin interfaceRemoteCache<K,V>
-
withFlags
Description copied from interface:RemoteCacheApplies one or moreFlags to the scope of a single invocation. See theFlagenumeration to for information on available flags. Sample usage:remoteCache.withFlags(Flag.FORCE_RETURN_VALUE).put("hello", "world");- Specified by:
withFlagsin interfaceInternalRemoteCache<K,V> - Specified by:
withFlagsin interfaceRemoteCache<K,V> - Returns:
- the current RemoteCache instance to continue running operations on.
-
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> - Specified by:
getAsyncin classRemoteCacheSupport<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)
-
ping
- Specified by:
pingin interfaceInternalRemoteCache<K,V>
-
keyToBytes
- Specified by:
keyToBytesin interfaceInternalRemoteCache<K,V>
-
valueToBytes
-
assertRemoteCacheManagerIsStarted
protected void assertRemoteCacheManagerIsStarted() -
keySet
Description copied from interface:RemoteCacheThis method is identical toRemoteCache.keySet()except that it will only return keys that map to the given segments. Note that these segments will be determined by the remote server. Thus you should be aware of how many segments it has configured and hashing algorithm it is using. If the segments and hashing algorithm are not the same this method may return unexpected keys.- Specified by:
keySetin interfaceRemoteCache<K,V> - Parameters:
segments- the segments of keys to return - null means all available- Returns:
- set containing keys that map to the given segments
- See Also:
-
keyIterator
- Specified by:
keyIteratorin interfaceInternalRemoteCache<K,V>
-
entrySet
Description copied from interface:RemoteCacheThis method is identical toRemoteCache.entrySet()except that it will only return entries that map to the given segments. Note that these segments will be determined by the remote server. Thus you should be aware of how many segments it has configured and hashing algorithm it is using. If the segments and hashing algorithm are not the same this method may return unexpected entries.- Specified by:
entrySetin interfaceRemoteCache<K,V> - Parameters:
segments- the segments of entries to return - null means all available- Returns:
- set containing entries that map to the given segments
- See Also:
-
entryIterator
- Specified by:
entryIteratorin interfaceInternalRemoteCache<K,V>
-
values
Description copied from interface:RemoteCacheThis method is identical toRemoteCache.values()except that it will only return values that map to the given segments. Note that these segments will be determined by the remote server. Thus you should be aware of how many segments it has configured and hashing algorithm it is using. If the segments and hashing algorithm are not the same this method may return unexpected values.- Specified by:
valuesin interfaceRemoteCache<K,V> - Parameters:
segments- the segments of values to return - null means all available- Returns:
- collection containing values that map to the given segments
- See Also:
-
execute
Description copied from interface:RemoteCacheExecutes a remote task passing a set of named parameters- Specified by:
executein interfaceRemoteCache<K,V>
-
execute
Description copied from interface:RemoteCacheExecutes a remote task passing a set of named parameters, hinting that the task should be executed on the server that is expected to store given key. The key itself is not transferred to the server.- Specified by:
executein interfaceRemoteCache<K,V>
-
getCacheTopologyInfo
Description copied from interface:RemoteCacheReturnsCacheTopologyInfofor this cache.- Specified by:
getCacheTopologyInfoin interfaceRemoteCache<K,V>
-
streaming
Description copied from interface:RemoteCacheReturns a cache where values are manipulated usingInputStreamandOutputStream- Specified by:
streamingin interfaceRemoteCache<K,V>
-
withDataFormat
Description copied from interface:RemoteCacheReturn a new instance ofRemoteCacheusing the suppliedDataFormat.- Specified by:
withDataFormatin interfaceInternalRemoteCache<K,V> - Specified by:
withDataFormatin interfaceRemoteCache<K,V>
-
resolveStorage
public void resolveStorage(boolean objectStorage) - Specified by:
resolveStoragein interfaceInternalRemoteCache<K,V>
-
resolveStorage
- Specified by:
resolveStoragein interfaceInternalRemoteCache<K,V>
-
getDataFormat
Description copied from interface:RemoteCacheReturn the currentlyDataFormatbeing used.- Specified by:
getDataFormatin interfaceRemoteCache<K,V>
-
isTransactional
public boolean isTransactional()- Specified by:
isTransactionalin interfaceRemoteCache<K,V> - Returns:
trueif the cache can participate in a transaction,falseotherwise.
-
isObjectStorage
public boolean isObjectStorage()- Specified by:
isObjectStoragein interfaceInternalRemoteCache<K,V>
-
hasForceReturnFlag
public boolean hasForceReturnFlag()- Specified by:
hasForceReturnFlagin interfaceInternalRemoteCache<K,V>
-
updateBloomFilter
Description copied from interface:InternalRemoteCacheSends the current bloom filter to the listener node where a near cache listener is installed. If this cache does not have near caching this will return an already completed stage.- Specified by:
updateBloomFilterin interfaceInternalRemoteCache<K,V> - Returns:
- stage that when complete the filter was sent to the listener node
-
toString
-