Package org.infinispan.persistence.spi
Interface CacheWriter<K,V>
-
- All Superinterfaces:
Lifecycle
- All Known Subinterfaces:
AdvancedCacheExpirationWriter<K,V>
,AdvancedCacheWriter<K,V>
,AdvancedLoadWriteStore<K,V>
,ExternalStore<K,V>
,FlagAffectedStore<K,V>
,SegmentedAdvancedLoadWriteStore<K,V>
,TransactionalCacheWriter<K,V>
- All Known Implementing Classes:
JdbcStringBasedStore
,JpaStore
,RemoteStore
,RestStore
,RocksDBStore
,SingleFileStore
,SoftIndexFileStore
@ThreadSafe public interface CacheWriter<K,V> extends Lifecycle
Allows persisting data to an external storage, as opposed to theCacheLoader
.- Since:
- 6.0
- Author:
- Mircea Markus
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description default CompletionStage<Void>
bulkUpdate(org.reactivestreams.Publisher<MarshallableEntry<? extends K,? extends V>> publisher)
Persist all provided entries to the store in chunks, with the size of each chunk determined by the store implementation.boolean
delete(Object key)
default void
deleteBatch(Iterable<Object> keys)
Remove all provided keys from the store in a single batch operation.void
init(InitializationContext ctx)
Used to initialize a cache loader.default boolean
isAvailable()
default void
write(org.infinispan.marshall.core.MarshalledEntry<? extends K,? extends V> entry)
Deprecated.since 10.0, usewrite(MarshallableEntry)
instead.default void
write(MarshallableEntry<? extends K,? extends V> entry)
Persists the entry to the storage.default void
writeBatch(Iterable<org.infinispan.marshall.core.MarshalledEntry<? extends K,? extends V>> entries)
Deprecated.since 10.0, usebulkUpdate(Publisher)
instead.
-
-
-
Method Detail
-
init
void init(InitializationContext ctx)
Used to initialize a cache loader. Typically invoked by thePersistenceManager
when setting up cache loaders.- Throws:
PersistenceException
- in case of an error, e.g. communicating with the external storage
-
write
default void write(MarshallableEntry<? extends K,? extends V> entry)
Persists the entry to the storage.- Throws:
PersistenceException
- in case of an error, e.g. communicating with the external storage- See Also:
MarshallableEntry
-
write
@Deprecated default void write(org.infinispan.marshall.core.MarshalledEntry<? extends K,? extends V> entry)
Deprecated.since 10.0, usewrite(MarshallableEntry)
instead.
-
delete
boolean delete(Object key)
- Returns:
- true if the entry existed in the persistent store and it was deleted.
- Throws:
PersistenceException
- in case of an error, e.g. communicating with the external storage
-
writeBatch
@Deprecated default void writeBatch(Iterable<org.infinispan.marshall.core.MarshalledEntry<? extends K,? extends V>> entries)
Deprecated.since 10.0, usebulkUpdate(Publisher)
instead.Persist all provided entries to the store in chunks, with the size of each chunk determined by the store implementation. If chunking is not supported by the underlying store, then entries are written to the store individually viawrite(MarshallableEntry)
.- Parameters:
entries
- an Iterable of MarshalledEntry to be written to the store.- Throws:
NullPointerException
- if entries is null.
-
bulkUpdate
default CompletionStage<Void> bulkUpdate(org.reactivestreams.Publisher<MarshallableEntry<? extends K,? extends V>> publisher)
Persist all provided entries to the store in chunks, with the size of each chunk determined by the store implementation. If chunking is not supported by the underlying store, then entries are written to the store individually viawrite(MarshallableEntry)
.- Parameters:
publisher
- aPublisher
ofMarshallableEntry
instances- Throws:
NullPointerException
- if the publisher is null.
-
deleteBatch
default void deleteBatch(Iterable<Object> keys)
Remove all provided keys from the store in a single batch operation. If this is not supported by the underlying store, then keys are removed from the store individually viadelete(Object)
.- Parameters:
keys
- an Iterable of entry Keys to be removed from the store.- Throws:
NullPointerException
- if keys is null.
-
isAvailable
default boolean isAvailable()
- Returns:
- true if the writer can be connected to, otherwise false
-
-