Interface DataPersistenceProvider
-
- All Known Implementing Classes:
DelegatingPersistentDataProvider,NonPersistentDataProvider,PersistentDataProvider
public interface DataPersistenceProviderDataPersistenceProvider provides methods to persist data and is an abstraction of the akka-persistence persistence API.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voiddeleteMessages(long sequenceNumber)Deletes journal entries up to the given sequence number.voiddeleteSnapshots(SnapshotSelectionCriteria criteria)Deletes snapshots based on the given criteria.longgetLastSequenceNumber()Returns the last sequence number contained in the journal.booleanisRecoveryApplicable()Returns whether or not persistence recovery is applicable/enabled.<T> voidpersist(T entry, Procedure<T> procedure)Persists an entry to the applicable journal synchronously.<T> voidpersistAsync(T entry, Procedure<T> procedure)Persists an entry to the applicable journal asynchronously.voidsaveSnapshot(Object snapshot)Saves a snapshot.
-
-
-
Method Detail
-
isRecoveryApplicable
boolean isRecoveryApplicable()
Returns whether or not persistence recovery is applicable/enabled.- Returns:
- true if recovery is applicable, otherwise false, in which case the provider is not persistent and may not have anything to be recovered
-
persist
<T> void persist(T entry, Procedure<T> procedure)Persists an entry to the applicable journal synchronously.- Type Parameters:
T- the type of the journal entry- Parameters:
entry- the journal entry to persistprocedure- the callback when persistence is complete
-
persistAsync
<T> void persistAsync(T entry, Procedure<T> procedure)Persists an entry to the applicable journal asynchronously.- Type Parameters:
T- the type of the journal entry- Parameters:
entry- the journal entry to persistprocedure- the callback when persistence is complete
-
saveSnapshot
void saveSnapshot(Object snapshot)
Saves a snapshot.- Parameters:
snapshot- the snapshot object to save
-
deleteSnapshots
void deleteSnapshots(SnapshotSelectionCriteria criteria)
Deletes snapshots based on the given criteria.- Parameters:
criteria- the search criteria
-
deleteMessages
void deleteMessages(long sequenceNumber)
Deletes journal entries up to the given sequence number.- Parameters:
sequenceNumber- the sequence number
-
getLastSequenceNumber
long getLastSequenceNumber()
Returns the last sequence number contained in the journal.- Returns:
- the last sequence number
-
-