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
 
 -