akka.persistence.journal
Interface AsyncRecovery

All Known Subinterfaces:
AsyncWriteJournal, SyncWriteJournal
All Known Implementing Classes:
AsyncRecovery, AsyncWriteJournal, SyncWriteJournal

public interface AsyncRecovery

Asynchronous message replay and sequence number recovery interface.


Method Summary
 scala.concurrent.Future<java.lang.Object> asyncReadHighestSequenceNr(java.lang.String processorId, long fromSequenceNr)
          Plugin API: asynchronously reads the highest stored sequence number for the given processorId.
 scala.concurrent.Future<scala.runtime.BoxedUnit> asyncReplayMessages(java.lang.String processorId, long fromSequenceNr, long toSequenceNr, long max, scala.Function1<PersistentRepr,scala.runtime.BoxedUnit> replayCallback)
          Plugin API: asynchronously replays persistent messages.
 

Method Detail

asyncReplayMessages

scala.concurrent.Future<scala.runtime.BoxedUnit> asyncReplayMessages(java.lang.String processorId,
                                                                     long fromSequenceNr,
                                                                     long toSequenceNr,
                                                                     long max,
                                                                     scala.Function1<PersistentRepr,scala.runtime.BoxedUnit> replayCallback)
Plugin API: asynchronously replays persistent messages. Implementations replay a message by calling replayCallback. The returned future must be completed when all messages (matching the sequence number bounds) have been replayed. The future must be completed with a failure if any of the persistent messages could not be replayed.

The replayCallback must also be called with messages that have been marked as deleted. In this case a replayed message's deleted method must return true.

The channel ids of delivery confirmations that are available for a replayed message must be contained in that message's confirms sequence.

Parameters:
processorId - processor id.
fromSequenceNr - sequence number where replay should start (inclusive).
toSequenceNr - sequence number where replay should end (inclusive).
max - maximum number of messages to be replayed.
replayCallback - called to replay a single message. Can be called from any thread.

See Also:
AsyncWriteJournal, SyncWriteJournal

asyncReadHighestSequenceNr

scala.concurrent.Future<java.lang.Object> asyncReadHighestSequenceNr(java.lang.String processorId,
                                                                     long fromSequenceNr)
Plugin API: asynchronously reads the highest stored sequence number for the given processorId.

Parameters:
processorId - processor id.
fromSequenceNr - hint where to start searching for the highest sequence number.