Interface DataPersistenceProvider
- All Known Implementing Classes:
DelegatingPersistentDataProvider,NonPersistentDataProvider,PersistentDataProvider
public interface DataPersistenceProvider
DataPersistenceProvider provides methods to persist data and is an abstraction of the akka-persistence persistence
API.
-
Method Summary
Modifier and TypeMethodDescriptionvoiddeleteMessages(long sequenceNumber) Deletes journal entries up to the given sequence number.voiddeleteSnapshots(SnapshotSelectionCriteria criteria) Deletes snapshots based on the given criteria.longReturns the last sequence number contained in the journal.booleanhandleJournalResponse(@NonNull JournalProtocol.Response response) Receive and potentially handle aJournalProtocolresponse.booleanhandleSnapshotResponse(@NonNull SnapshotProtocol.Response response) Receive and potentially handle aSnapshotProtocolresponse.booleanReturns whether or not persistence recovery is applicable/enabled.<T> voidPersists 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 Details
-
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
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
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
Saves a snapshot.- Parameters:
snapshot- the snapshot object to save
-
deleteSnapshots
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
-
handleJournalResponse
Receive and potentially handle aJournalProtocolresponse.- Parameters:
response- AJournalProtocolresponse- Returns:
trueif the response was handled
-
handleSnapshotResponse
Receive and potentially handle aSnapshotProtocolresponse.- Parameters:
response- ASnapshotProtocolresponse- Returns:
trueif the response was handled
-