@ThreadSafe public class RemoteStore<K,V> extends Object implements AdvancedLoadWriteStore<K,V>, FlagAffectedStore<K,V>
RemoteStoreConfiguration,
Hotrod Java ClientAdvancedCacheLoader.CacheLoaderTask<K,V>, AdvancedCacheLoader.TaskContextAdvancedCacheWriter.PurgeListener<K>| Modifier and Type | Field and Description |
|---|---|
protected InitializationContext |
ctx |
| Constructor and Description |
|---|
RemoteStore() |
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Removes all the data from the storage.
|
boolean |
contains(Object key)
Returns true if the storage contains an entry associated with the given key.
|
boolean |
delete(Object key) |
RemoteStoreConfiguration |
getConfiguration() |
RemoteCache<Object,Object> |
getRemoteCache() |
void |
init(InitializationContext ctx)
Used to initialize a cache loader.
|
boolean |
isAvailable() |
MarshalledEntry<K,V> |
load(Object key)
Fetches an entry from the storage.
|
org.reactivestreams.Publisher<MarshalledEntry<K,V>> |
publishEntries(Predicate<? super K> filter,
boolean fetchValue,
boolean fetchMetadata)
Publishes all entries from this store.
|
io.reactivex.Flowable<K> |
publishKeys(Predicate<? super K> filter)
Publishes all the keys from this store.
|
void |
purge(Executor threadPool,
AdvancedCacheWriter.PurgeListener task)
Using the thread in the pool, removed all the expired data from the persistence storage.
|
void |
setInternalCacheEntryFactory(InternalEntryFactory iceFactory) |
boolean |
shouldWrite(long commandFlags) |
int |
size()
Returns the number of elements in the store.
|
void |
start()
Invoked on component start
|
void |
stop()
Invoked on component stop
|
void |
write(MarshalledEntry entry)
Persists the entry to the storage.
|
void |
writeBatch(Iterable<MarshalledEntry<? extends K,? extends V>> marshalledEntries)
Persist all provided entries to the store in a single batch update.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprocessdeleteBatchprotected InitializationContext ctx
public void init(InitializationContext ctx)
CacheLoaderPersistenceManager
when setting up cache loaders.init in interface CacheLoader<K,V>init in interface CacheWriter<K,V>public void start()
throws PersistenceException
Lifecyclestart in interface LifecyclePersistenceExceptionpublic void stop()
throws PersistenceException
Lifecyclestop in interface LifecyclePersistenceExceptionpublic boolean isAvailable()
isAvailable in interface CacheLoader<K,V>isAvailable in interface CacheWriter<K,V>isAvailable in interface ExternalStore<K,V>public MarshalledEntry<K,V> load(Object key) throws PersistenceException
CacheLoaderMarshalledEntry needs to be created here, InitializationContext.getMarshalledEntryFactory() and InitializationContext.getByteBufferFactory() should be used.load in interface CacheLoader<K,V>PersistenceException - in case of an error, e.g. communicating with the external storagepublic boolean contains(Object key) throws PersistenceException
CacheLoadercontains in interface CacheLoader<K,V>PersistenceException - in case of an error, e.g. communicating with the external storagepublic io.reactivex.Flowable<K> publishKeys(Predicate<? super K> filter)
AdvancedCacheLoaderSubscribers as desired. Keys are not retrieved until a given Subscriber requests
them from the Subscription.
Stores will return only non expired keys
publishKeys in interface AdvancedCacheLoader<K,V>filter - a filterpublic org.reactivestreams.Publisher<MarshalledEntry<K,V>> publishEntries(Predicate<? super K> filter, boolean fetchValue, boolean fetchMetadata)
AdvancedCacheLoaderSubscribers as desired. Entries are not retrieved until a given Subscriber requests
them from the Subscription.
If fetchMetadata is true this store must guarantee to not return any expired entries.
publishEntries in interface AdvancedCacheLoader<K,V>public int size()
AdvancedCacheLoadersize in interface AdvancedCacheLoader<K,V>public void purge(Executor threadPool, AdvancedCacheWriter.PurgeListener task)
AdvancedCacheWriterWhen this method returns all entries will be purged and no tasks will be running due to this loader in the provided executor. If however an exception is thrown there could be tasks still pending or running in the executor.
purge in interface AdvancedCacheWriter<K,V>public void write(MarshalledEntry entry) throws PersistenceException
CacheWriterwrite in interface CacheWriter<K,V>PersistenceException - in case of an error, e.g. communicating with the external storageMarshalledEntrypublic void writeBatch(Iterable<MarshalledEntry<? extends K,? extends V>> marshalledEntries)
CacheWriterCacheWriter.write(MarshalledEntry).writeBatch in interface CacheWriter<K,V>marshalledEntries - an Iterable of MarshalledEntry to be written to the store.public void clear()
throws PersistenceException
AdvancedCacheWriterclear in interface AdvancedCacheWriter<K,V>PersistenceException - in case of an error, e.g. communicating with the external storagepublic boolean delete(Object key) throws PersistenceException
delete in interface CacheWriter<K,V>PersistenceException - in case of an error, e.g. communicating with the external storagepublic void setInternalCacheEntryFactory(InternalEntryFactory iceFactory)
public RemoteCache<Object,Object> getRemoteCache()
public RemoteStoreConfiguration getConfiguration()
public boolean shouldWrite(long commandFlags)
shouldWrite in interface FlagAffectedStore<K,V>Copyright © 2018 JBoss, a division of Red Hat. All rights reserved.