Class RemoteStore<K,V>
java.lang.Object
org.infinispan.persistence.remote.RemoteStore<K,V>
- All Implemented Interfaces:
org.infinispan.persistence.spi.NonBlockingStore<K,V>
public class RemoteStore<K,V>
extends Object
implements org.infinispan.persistence.spi.NonBlockingStore<K,V>
Cache store that delegates the call to a infinispan cluster. Communication between this cache store and the remote
cluster is achieved through the java HotRod client: this assures fault tolerance and smart dispatching of calls to
the nodes that have the highest chance of containing the given key. This cache store supports both preloading
and fetchPersistentState.
Purging elements is not possible, as HotRod does not support the fetching of all remote keys (this would be a
very costly operation as well). Purging takes place at the remote end (infinispan cluster).
- Since:
- 4.1
- Author:
- Mircea.Markus@jboss.com
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.infinispan.persistence.spi.NonBlockingStore
org.infinispan.persistence.spi.NonBlockingStore.Characteristic, org.infinispan.persistence.spi.NonBlockingStore.SegmentedPublisher<Type extends Object> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.infinispan.persistence.spi.InitializationContextFields inherited from interface org.infinispan.persistence.spi.NonBlockingStore
SIZE_UNAVAILABLE_FUTURE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddSegments(org.infinispan.commons.util.IntSet segments) approximateSize(org.infinispan.commons.util.IntSet segments) batch(int publisherCount, org.reactivestreams.Publisher<org.infinispan.persistence.spi.NonBlockingStore.SegmentedPublisher<Object>> removePublisher, org.reactivestreams.Publisher<org.infinispan.persistence.spi.NonBlockingStore.SegmentedPublisher<org.infinispan.persistence.spi.MarshallableEntry<K, V>>> writePublisher) Set<org.infinispan.persistence.spi.NonBlockingStore.Characteristic>clear()containsKey(int segment, Object key) booleanignoreCommandWithFlags(long commandFlags) CompletionStage<org.infinispan.persistence.spi.MarshallableEntry<K,V>> publishEntries(org.infinispan.commons.util.IntSet segments, Predicate<? super K> filter, boolean includeValues) io.reactivex.rxjava3.core.Flowable<K>publishKeys(org.infinispan.commons.util.IntSet segments, Predicate<? super K> filter) removeSegments(org.infinispan.commons.util.IntSet segments) voidsetInternalCacheEntryFactory(org.infinispan.container.impl.InternalEntryFactory iceFactory) size(org.infinispan.commons.util.IntSet segments) start(org.infinispan.persistence.spi.InitializationContext ctx) stop()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.infinispan.persistence.spi.NonBlockingStore
commit, destroy, prepareWithModifications, rollback
-
Field Details
-
ctx
protected org.infinispan.persistence.spi.InitializationContext ctx
-
-
Constructor Details
-
RemoteStore
public RemoteStore()
-
-
Method Details
-
start
-
characteristics
-
stop
-
isAvailable
-
load
public CompletionStage<org.infinispan.persistence.spi.MarshallableEntry<K,V>> load(int segment, Object key) -
containsKey
-
publishKeys
-
publishEntries
-
size
-
approximateSize
-
purgeExpired
-
write
public CompletionStage<Void> write(int segment, org.infinispan.persistence.spi.MarshallableEntry<? extends K, ? extends V> entry) -
batch
public CompletionStage<Void> batch(int publisherCount, org.reactivestreams.Publisher<org.infinispan.persistence.spi.NonBlockingStore.SegmentedPublisher<Object>> removePublisher, org.reactivestreams.Publisher<org.infinispan.persistence.spi.NonBlockingStore.SegmentedPublisher<org.infinispan.persistence.spi.MarshallableEntry<K, V>>> writePublisher) -
clear
-
delete
-
setInternalCacheEntryFactory
public void setInternalCacheEntryFactory(org.infinispan.container.impl.InternalEntryFactory iceFactory) -
getRemoteCache
-
getConfiguration
-
ignoreCommandWithFlags
public boolean ignoreCommandWithFlags(long commandFlags) -
addSegments
-
removeSegments
-