!per #3704 Persistence improvements
- Channel enhancements (#3773): - Live read models (#3776): - Batch-oriented journal plugin API (#3804): - Batching of confirmations and deletions - Message deletion enhancements (more efficient range deletions)
This commit is contained in:
parent
32b76adb9a
commit
f327e1e357
55 changed files with 3474 additions and 2191 deletions
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
package akka.persistence.journal.japi;
|
||||
|
||||
import akka.persistence.PersistentRepr;
|
||||
import akka.persistence.*;
|
||||
|
||||
interface SyncWritePlugin {
|
||||
//#sync-write-plugin-api
|
||||
|
|
@ -13,21 +13,28 @@ interface SyncWritePlugin {
|
|||
* journal. The batch write must be atomic i.e. either all persistent messages in the
|
||||
* batch are written or none.
|
||||
*/
|
||||
void doWrite(Iterable<PersistentRepr> persistentBatch);
|
||||
void doWriteMessages(Iterable<PersistentRepr> messages);
|
||||
|
||||
/**
|
||||
* Java API, Plugin API: synchronously deletes all persistent messages within the
|
||||
* range from `fromSequenceNr` to `toSequenceNr`. If `permanent` is set to `false`,
|
||||
* the persistent messages are marked as deleted, otherwise they are permanently
|
||||
* deleted.
|
||||
* Java API, Plugin API: synchronously writes a batch of delivery confirmations to
|
||||
* the journal.
|
||||
*/
|
||||
void doWriteConfirmations(Iterable<PersistentConfirmation> confirmations);
|
||||
|
||||
/**
|
||||
* Java API, Plugin API: synchronously deletes messages identified by `messageIds`
|
||||
* from the journal. If `permanent` is set to `false`, the persistent messages are
|
||||
* marked as deleted, otherwise they are permanently deleted.
|
||||
*/
|
||||
void doDeleteMessages(Iterable<PersistentId> messageIds, boolean permanent);
|
||||
|
||||
/**
|
||||
* Java API, Plugin API: synchronously deletes all persistent messages up to
|
||||
* `toSequenceNr`. If `permanent` is set to `false`, the persistent messages are
|
||||
* marked as deleted, otherwise they are permanently deleted.
|
||||
*
|
||||
* @see AsyncReplayPlugin
|
||||
* @see AsyncRecoveryPlugin
|
||||
*/
|
||||
void doDelete(String processorId, long fromSequenceNr, long toSequenceNr, boolean permanent);
|
||||
|
||||
/**
|
||||
* Java API, Plugin API: synchronously writes a delivery confirmation to the journal.
|
||||
*/
|
||||
void doConfirm(String processorId, long sequenceNr, String channelId) throws Exception;
|
||||
void doDeleteMessagesTo(String processorId, long toSequenceNr, boolean permanent);
|
||||
//#sync-write-plugin-api
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue