Packages

final class DynamoDBReadJournal extends ReadJournal with CurrentEventsBySliceQuery with EventsBySliceQuery with CurrentEventsBySliceStartingFromSnapshotsQuery with EventsBySliceStartingFromSnapshotsQuery with EventTimestampQuery with LoadEventQuery

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DynamoDBReadJournal
  2. LoadEventQuery
  3. EventTimestampQuery
  4. EventsBySliceStartingFromSnapshotsQuery
  5. CurrentEventsBySliceStartingFromSnapshotsQuery
  6. EventsBySliceQuery
  7. CurrentEventsBySliceQuery
  8. ReadJournal
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new DynamoDBReadJournal(system: ExtendedActorSystem, config: Config, cfgPath: String)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. def createEventEnvelopeHeartbeat[Event](entityType: String, slice: Int, timestamp: Instant): EventEnvelope[Event]
  7. def currentEventsBySlices[Event](entityType: String, minSlice: Int, maxSlice: Int, offset: Offset): Source[EventEnvelope[Event], NotUsed]
    Definition Classes
    DynamoDBReadJournal → CurrentEventsBySliceQuery
  8. def currentEventsBySlicesStartingFromSnapshots[Snapshot, Event](entityType: String, minSlice: Int, maxSlice: Int, offset: Offset, transformSnapshot: (Snapshot) => Event): Source[EventEnvelope[Event], NotUsed]

    Same as currentEventsBySlices but with the purpose to use snapshots as starting points and thereby reducing the number of events that have to be loaded.

    Same as currentEventsBySlices but with the purpose to use snapshots as starting points and thereby reducing the number of events that have to be loaded. This can be useful if the consumer starts from zero without any previously processed offset or if it has been disconnected for a long while and its offset is far behind.

    First it loads all snapshots with timestamps greater than or equal to the offset timestamp. There is at most one snapshot per persistenceId. The snapshots are transformed to events with the given transformSnapshot function.

    After emitting the snapshot events the ordinary events with sequence numbers after the snapshots are emitted.

    To use currentEventsBySlicesStartingFromSnapshots you must enable configuration akka.persistence.dynamodb.query.start-from-snapshot.enabled.

    Definition Classes
    DynamoDBReadJournal → CurrentEventsBySliceStartingFromSnapshotsQuery
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def eventsBySlices[Event](entityType: String, minSlice: Int, maxSlice: Int, offset: Offset): Source[EventEnvelope[Event], NotUsed]

    Query events for given slices.

    Query events for given slices. A slice is deterministically defined based on the persistence id. The purpose is to evenly distribute all persistence ids over the slices.

    The consumer can keep track of its current position in the event stream by storing the offset and restart the query from a given offset after a crash/restart.

    The supported offsets are akka.persistence.query.TimestampOffset and akka.persistence.query.NoOffset.

    The timestamp is based on the client wall clock and the events are read from a DynamoDB global secondary index, which is eventually consistent. This means that a "later" event may be visible first and when retrieving events after the previously seen timestamp we may miss some events. For that reason it will perform additional backtracking queries to catch missed events. Events from backtracking will typically be duplicates of previously emitted events. It's the responsibility of the consumer to filter duplicates and make sure that events are processed in exact sequence number order for each persistence id. Such deduplication is provided by the DynamoDB Projection.

    Events emitted by the backtracking don't contain the event payload (EventBySliceEnvelope.event is None) and the consumer can load the full EventBySliceEnvelope with DynamoDBReadJournal.loadEnvelope.

    The events will be emitted in the timestamp order with the caveat of duplicate events as described above.

    The stream is not completed when it reaches the end of the currently stored events, but it continues to push new events when new events are persisted. Corresponding query that is completed when it reaches the end of the currently stored events is provided by DynamoDBReadJournal.currentEventsBySlices.

    Definition Classes
    DynamoDBReadJournal → EventsBySliceQuery
  12. def eventsBySlicesStartingFromSnapshots[Snapshot, Event](entityType: String, minSlice: Int, maxSlice: Int, offset: Offset, transformSnapshot: (Snapshot) => Event): Source[EventEnvelope[Event], NotUsed]

    Same as eventsBySlices but with the purpose to use snapshots as starting points and thereby reducing the number of events that have to be loaded.

    Same as eventsBySlices but with the purpose to use snapshots as starting points and thereby reducing the number of events that have to be loaded. This can be useful if the consumer starts from zero without any previously processed offset or if it has been disconnected for a long while and its offset is far behind.

    First it loads all snapshots with timestamps greater than or equal to the offset timestamp. There is at most one snapshot per persistenceId. The snapshots are transformed to events with the given transformSnapshot function.

    After emitting the snapshot events the ordinary events with sequence numbers after the snapshots are emitted.

    To use eventsBySlicesStartingFromSnapshots you must enable configuration akka.persistence.dynamodb.query.start-from-snapshot.enabled.

    Definition Classes
    DynamoDBReadJournal → EventsBySliceStartingFromSnapshotsQuery
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. def loadEnvelope[Event](persistenceId: String, sequenceNr: Long): Future[EventEnvelope[Event]]
    Definition Classes
    DynamoDBReadJournal → LoadEventQuery
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. def sliceForPersistenceId(persistenceId: String): Int
    Definition Classes
    DynamoDBReadJournal → EventsBySliceStartingFromSnapshotsQuery → CurrentEventsBySliceStartingFromSnapshotsQuery → EventsBySliceQuery → CurrentEventsBySliceQuery
  21. def sliceRanges(numberOfRanges: Int): Seq[Range]
    Definition Classes
    DynamoDBReadJournal → EventsBySliceStartingFromSnapshotsQuery → CurrentEventsBySliceStartingFromSnapshotsQuery → EventsBySliceQuery → CurrentEventsBySliceQuery
  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. def timestampOf(persistenceId: String, sequenceNr: Long): Future[Option[Instant]]
    Definition Classes
    DynamoDBReadJournal → EventTimestampQuery
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from LoadEventQuery

Inherited from EventTimestampQuery

Inherited from EventsBySliceQuery

Inherited from ReadJournal

Inherited from AnyRef

Inherited from Any

Ungrouped