class DynamoDBJournal extends AsyncWriteJournal with DynamoDBRecovery with DynamoDBJournalRequests with ActorLogging
- Alphabetic
- By Inheritance
- DynamoDBJournal
- ActorLogging
- DynamoDBJournalRequests
- DynamoDBRequests
- DynamoDBRecovery
- AsyncWriteJournal
- AsyncRecovery
- WriteJournalBase
- Actor
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
Receive = PartialFunction[Any, Unit]
- Definition Classes
- Actor
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
aroundPostRestart(reason: Throwable): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
-
def
aroundPostStop(): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
-
def
aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
-
def
aroundPreStart(): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
-
def
aroundReceive(receive: actor.Actor.Receive, msg: Any): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
asyncDeleteMessagesTo(persistenceId: String, toSequenceNr: Long): Future[Unit]
Delete messages up to a given sequence number.
Delete messages up to a given sequence number. The range to which this applies first capped by the lowest and highest sequence number for this persistenceId since DynamoDB requires individual deletes to be issued for every single event. The procedure is to first update the lowest sequence number to the new value and then delete the now unreplayable events—this is desirable because in the other order a replay may see partially deleted history.
Failures during purging are only logged and do not contribute to the call’s result.
TODO in principle replays should be inhibited while the purge is ongoing
- Definition Classes
- DynamoDBJournal → AsyncWriteJournal
-
def
asyncReadHighestSequenceNr(persistenceId: String, fromSequenceNr: Long): Future[Long]
- Definition Classes
- DynamoDBJournal → AsyncRecovery
-
def
asyncReplayMessages(persistenceId: String, fromSequenceNr: Long, toSequenceNr: Long, max: Long)(replayCallback: (PersistentRepr) ⇒ Unit): Future[Unit]
- Definition Classes
- DynamoDBRecovery → AsyncRecovery
-
def
asyncWriteMessages(messages: Seq[AtomicWrite]): Future[Seq[Try[Unit]]]
- Definition Classes
- DynamoDBJournal → AsyncWriteJournal
-
def
batchGetReq(items: Map[String, KeysAndAttributes]): BatchGetItemRequest
- Definition Classes
- DynamoDBRecovery
-
def
batchWriteReq(items: Map[String, List[WriteRequest]]): BatchWriteItemRequest
- Definition Classes
- DynamoDBRequests
-
def
batchWriteReq(writes: Seq[WriteRequest]): BatchWriteItemRequest
- Definition Classes
- DynamoDBRequests
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
implicit
val
context: ActorContext
- Definition Classes
- Actor
-
def
deleteMessages(persistenceId: String, start: Long, end: Long): Future[Done]
- Definition Classes
- DynamoDBJournalRequests
-
def
doBatch(desc: (Seq[WriteRequest]) ⇒ String, writes: Seq[WriteRequest]): Future[Done]
Execute the given WriteRequests in batches of MaxBatchWrite, ignoring and logging all errors.
Execute the given WriteRequests in batches of MaxBatchWrite, ignoring and logging all errors. The returned Future never fails.
- Definition Classes
- DynamoDBRequests
-
val
dynamo: DynamoDBHelper
- Definition Classes
- DynamoDBJournal → DynamoDBRequests
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
eventQuery(persistenceId: String, sequenceNr: Long): QueryRequest
- Definition Classes
- DynamoDBRecovery
- val extension: Persistence
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getRemainingQueryItems(request: QueryRequest, result: QueryResult): Future[QueryResult]
- Definition Classes
- DynamoDBRecovery
-
def
getReplayBatch(persistenceId: String, seqNrs: Seq[Long]): Future[ReplayBatch]
- Definition Classes
- DynamoDBRecovery
-
def
getUnprocessedItems(result: BatchGetItemResult, retriesRemaining: Int = 10): Future[BatchGetItemResult]
- Definition Classes
- DynamoDBRecovery
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def highSeqKey(persistenceId: String, shard: Long): Item
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def keyLength(persistenceId: String, sequenceNr: Long): Int
-
def
listAllSeqNr(persistenceId: String): Future[Seq[Long]]
- Definition Classes
- DynamoDBRecovery
-
def
log: LoggingAdapter
- Definition Classes
- ActorLogging
- def logFailure[T](desc: String)(f: Future[T]): Future[T]
- def lowSeqKey(persistenceId: String, shard: Long): Item
- implicit val materializer: ActorMaterializer
- def messageKey(persistenceId: String, sequenceNr: Long): Item
- def messagePartitionKey(persistenceId: String, sequenceNr: Long): String
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
val
persistence: Persistence
- Definition Classes
- WriteJournalBase
-
def
postRestart(reason: Throwable): Unit
- Definition Classes
- Actor
- Annotations
- @throws( classOf[java.lang.Exception] )
-
def
postStop(): Unit
- Definition Classes
- DynamoDBJournal → Actor
-
def
preRestart(reason: Throwable, message: Option[Any]): Unit
- Definition Classes
- Actor
- Annotations
- @throws( classOf[java.lang.Exception] )
-
def
preStart(): Unit
- Definition Classes
- Actor
- Annotations
- @throws( classOf[java.lang.Exception] )
-
def
preparePersistentBatch(rb: Seq[PersistentEnvelope]): Seq[AtomicWrite]
- Attributes
- protected
- Definition Classes
- WriteJournalBase
-
def
putItem(item: Item): PutItemRequest
- Definition Classes
- DynamoDBRequests
-
def
readAllSequenceNr(persistenceId: String, highest: Boolean): Future[Set[Long]]
- Definition Classes
- DynamoDBRecovery
-
def
readPersistentRepr(item: Map[String, AttributeValue], async: Boolean): Future[PersistentRepr]
- Definition Classes
- DynamoDBRecovery
-
def
readSequenceNr(persistenceId: String, highest: Boolean): Future[Long]
- Definition Classes
- DynamoDBRecovery
-
def
readSequenceNrBatches(persistenceId: String, highest: Boolean): Iterator[Future[BatchGetItemResult]]
- Definition Classes
- DynamoDBRecovery
-
final
def
receive: PartialFunction[Any, Unit]
- Definition Classes
- AsyncWriteJournal → Actor
-
def
receivePluginInternal: PartialFunction[Any, Unit]
- Definition Classes
- DynamoDBJournal → AsyncWriteJournal
-
final
val
receiveWriteJournal: actor.Actor.Receive
- Definition Classes
- AsyncWriteJournal
-
def
removeHS(persistenceId: String): Future[Done]
- Definition Classes
- DynamoDBJournalRequests
-
def
removeLS(persistenceId: String): Future[Done]
- Definition Classes
- DynamoDBJournalRequests
-
implicit
lazy val
replayDispatcher: MessageDispatcher
- Definition Classes
- DynamoDBRecovery
-
implicit final
val
self: ActorRef
- Definition Classes
- Actor
-
final
def
sender(): ActorRef
- Definition Classes
- Actor
- val serialization: Serialization
-
def
setHS(persistenceId: String, to: Long): Future[PutItemResult]
- Definition Classes
- DynamoDBJournalRequests
-
def
setLS(persistenceId: String, to: Long): Future[PutItemResult]
- Definition Classes
- DynamoDBJournalRequests
-
val
settings: DynamoDBJournalConfig
- Definition Classes
- DynamoDBJournal → DynamoDBRequests
-
def
supervisorStrategy: SupervisorStrategy
- Definition Classes
- Actor
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
unhandled(message: Any): Unit
- Definition Classes
- Actor
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
writeMessages(atomicWrite: AtomicWrite): Future[Try[Unit]]
Write all PersistentRepr in the AtomicWrite provided
Write all PersistentRepr in the AtomicWrite provided
If there are any errors serializing (preparing the batch writes), then we must return a Future.success(Failure) as the result. This is needed to be compliant with Akka Persistence 2.4
- atomicWrite
Contains a list of persistentRepr that need to be persisted atomically
- returns
a successfully completed Future that contains either a Success or Failure
- Definition Classes
- DynamoDBJournalRequests
-
def
writeMessages(writes: Seq[AtomicWrite]): Future[List[Try[Unit]]]
Write all messages in a sequence of AtomicWrites.
Write all messages in a sequence of AtomicWrites. Care must be taken to not have concurrent writes happening that touch the highest sequence number. The current implementation is the simplest with this guarantee in that it will run each AtomicWrite in sequence without even batching those that could be batched. The most common case is that there is just one message in total anyway.
- Definition Classes
- DynamoDBJournalRequests