Packages

final class R2dbcReadJournal extends ReadJournal with CurrentEventsBySliceQuery with EventsBySliceQuery with CurrentEventsBySliceStartingFromSnapshotsQuery with EventsBySliceStartingFromSnapshotsQuery with EventTimestampQuery with LoadEventQuery with CurrentEventsByPersistenceIdQuery with CurrentEventsByPersistenceIdTypedQuery with EventsByPersistenceIdQuery with EventsByPersistenceIdTypedQuery with CurrentPersistenceIdsQuery with PagedPersistenceIdsQuery with EventsByPersistenceIdStartingFromSnapshotQuery with CurrentEventsByPersistenceIdStartingFromSnapshotQuery

Linear Supertypes
CurrentEventsByPersistenceIdStartingFromSnapshotQuery, EventsByPersistenceIdStartingFromSnapshotQuery, PagedPersistenceIdsQuery, CurrentPersistenceIdsQuery, EventsByPersistenceIdTypedQuery, EventsByPersistenceIdQuery, CurrentEventsByPersistenceIdTypedQuery, CurrentEventsByPersistenceIdQuery, LoadEventQuery, EventTimestampQuery, EventsBySliceStartingFromSnapshotsQuery, CurrentEventsBySliceStartingFromSnapshotsQuery, EventsBySliceQuery, CurrentEventsBySliceQuery, ReadJournal, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. R2dbcReadJournal
  2. CurrentEventsByPersistenceIdStartingFromSnapshotQuery
  3. EventsByPersistenceIdStartingFromSnapshotQuery
  4. PagedPersistenceIdsQuery
  5. CurrentPersistenceIdsQuery
  6. EventsByPersistenceIdTypedQuery
  7. EventsByPersistenceIdQuery
  8. CurrentEventsByPersistenceIdTypedQuery
  9. CurrentEventsByPersistenceIdQuery
  10. LoadEventQuery
  11. EventTimestampQuery
  12. EventsBySliceStartingFromSnapshotsQuery
  13. CurrentEventsBySliceStartingFromSnapshotsQuery
  14. EventsBySliceQuery
  15. CurrentEventsBySliceQuery
  16. ReadJournal
  17. AnyRef
  18. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new R2dbcReadJournal(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]) @IntrinsicCandidate() @native()
  6. def createEventEnvelopeHeartbeat[Event](entityType: String, slice: Int, timestamp: Instant): EventEnvelope[Event]
  7. def currentEventsByPersistenceId(persistenceId: String, fromSequenceNr: Long, toSequenceNr: Long): Source[EventEnvelope, NotUsed]
    Definition Classes
    R2dbcReadJournal → CurrentEventsByPersistenceIdQuery
  8. def currentEventsByPersistenceIdStartingFromSnapshot[Snapshot, Event](persistenceId: String, fromSequenceNr: Long, toSequenceNr: Long, transformSnapshot: (Snapshot) => Event): Source[EventEnvelope[Event], NotUsed]
    Definition Classes
    R2dbcReadJournal → CurrentEventsByPersistenceIdStartingFromSnapshotQuery
  9. def currentEventsByPersistenceIdTyped[Event](persistenceId: String, fromSequenceNr: Long, toSequenceNr: Long): Source[EventEnvelope[Event], NotUsed]
    Definition Classes
    R2dbcReadJournal → CurrentEventsByPersistenceIdTypedQuery
    Annotations
    @ApiMayChange()
  10. def currentEventsBySlices[Event](entityType: String, minSlice: Int, maxSlice: Int, offset: Offset): Source[EventEnvelope[Event], NotUsed]
    Definition Classes
    R2dbcReadJournal → CurrentEventsBySliceQuery
  11. 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 number of events that have to be loaded.

    Same as currentEventsBySlices but with the purpose to use snapshots as starting points and thereby reducing number of events that have to be loaded. This can be useful if the consumer start 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.r2dbc.query.start-from-snapshot.enabled and follow instructions in migration guide https://doc.akka.io/libraries/akka-persistence-r2dbc/current/migration-guide.html#eventsBySlicesStartingFromSnapshots

    Definition Classes
    R2dbcReadJournal → CurrentEventsBySliceStartingFromSnapshotsQuery
  12. def currentPersistenceIds(): Source[String, NotUsed]
    Definition Classes
    R2dbcReadJournal → CurrentPersistenceIdsQuery
  13. def currentPersistenceIds(entityType: String, afterId: Option[String], limit: Long): Source[String, NotUsed]

    Get the current persistence ids.

    Get the current persistence ids.

    Note: to reuse existing index, the actual query filters entity types based on persistence_id column and sql LIKE operator. Hence the persistenceId must start with an entity type followed by default separator ("|") from akka.persistence.typed.PersistenceId.

    entityType

    The entity type name.

    afterId

    The ID to start returning results from, or None to return all ids. This should be an id returned from a previous invocation of this command. Callers should not assume that ids are returned in sorted order.

    limit

    The maximum results to return. Use Long.MaxValue to return all results. Must be greater than zero.

    returns

    A source containing all the persistence ids, limited as specified.

  14. def currentPersistenceIds(afterId: Option[String], limit: Long): Source[String, NotUsed]
    Definition Classes
    R2dbcReadJournal → PagedPersistenceIdsQuery
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  17. def eventsByPersistenceId(persistenceId: String, fromSequenceNr: Long, toSequenceNr: Long): Source[EventEnvelope, NotUsed]
    Definition Classes
    R2dbcReadJournal → EventsByPersistenceIdQuery
  18. def eventsByPersistenceIdStartingFromSnapshot[Snapshot, Event](persistenceId: String, fromSequenceNr: Long, toSequenceNr: Long, transformSnapshot: (Snapshot) => Event): Source[EventEnvelope[Event], NotUsed]
    Definition Classes
    R2dbcReadJournal → EventsByPersistenceIdStartingFromSnapshotQuery
  19. def eventsByPersistenceIdTyped[Event](persistenceId: String, fromSequenceNr: Long, toSequenceNr: Long): Source[EventEnvelope[Event], NotUsed]
    Definition Classes
    R2dbcReadJournal → EventsByPersistenceIdTypedQuery
    Annotations
    @ApiMayChange()
  20. 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 offset is TimestampOffset and Offset.noOffset.

    The timestamp is based on the database CURRENT_TIMESTAMP when the event was stored. CURRENT_TIMESTAMP is the time when the transaction started, not when it was committed. This means that a "later" event may be visible first and when retrieving events after the previously seen timestamp we may miss some events. In distributed SQL databases there can also be clock skews for the database timestamps. 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 R2DBC 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 R2dbcReadJournal.loadEnvelope.

    The events will be emitted in the timestamp order with the caveat of duplicate events as described above. Events with the same timestamp are ordered by sequence number.

    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 R2dbcReadJournal.currentEventsBySlices.

    The slice range cannot span over more than one data partition, which in practise means that the number of Projection instances must be be greater than or equal to the number of data partitions. For example, with 4 data partitions the slice range (0 - 255) is allowed but not (0 - 511). Smaller slice range such as (0 - 127) is also allowed.

    Definition Classes
    R2dbcReadJournal → EventsBySliceQuery
  21. 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 number of events that have to be loaded.

    Same as eventsBySlices but with the purpose to use snapshots as starting points and thereby reducing number of events that have to be loaded. This can be useful if the consumer start 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.r2dbc.query.start-from-snapshot.enabled and follow instructions in migration guide https://doc.akka.io/libraries/akka-persistence-r2dbc/current/migration-guide.html#eventsBySlicesStartingFromSnapshots

    Definition Classes
    R2dbcReadJournal → EventsBySliceStartingFromSnapshotsQuery
  22. def extractEntityTypeFromPersistenceId(persistenceId: String): String
  23. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  24. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  25. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  26. def loadEnvelope[Event](persistenceId: String, sequenceNr: Long): Future[EventEnvelope[Event]]
    Definition Classes
    R2dbcReadJournal → LoadEventQuery
  27. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  29. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  30. def sliceForPersistenceId(persistenceId: String): Int
    Definition Classes
    R2dbcReadJournal → EventsBySliceStartingFromSnapshotsQuery → CurrentEventsBySliceStartingFromSnapshotsQuery → EventsBySliceQuery → CurrentEventsBySliceQuery
  31. def sliceRanges(numberOfRanges: Int): Seq[Range]
    Definition Classes
    R2dbcReadJournal → EventsBySliceStartingFromSnapshotsQuery → CurrentEventsBySliceStartingFromSnapshotsQuery → EventsBySliceQuery → CurrentEventsBySliceQuery
  32. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  33. def timestampOf(persistenceId: String, sequenceNr: Long): Future[Option[Instant]]
    Definition Classes
    R2dbcReadJournal → EventTimestampQuery
  34. def toString(): String
    Definition Classes
    AnyRef → Any
  35. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  36. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  37. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

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 CurrentEventsByPersistenceIdStartingFromSnapshotQuery

Inherited from EventsByPersistenceIdStartingFromSnapshotQuery

Inherited from PagedPersistenceIdsQuery

Inherited from CurrentPersistenceIdsQuery

Inherited from EventsByPersistenceIdTypedQuery

Inherited from EventsByPersistenceIdQuery

Inherited from CurrentEventsByPersistenceIdTypedQuery

Inherited from CurrentEventsByPersistenceIdQuery

Inherited from LoadEventQuery

Inherited from EventTimestampQuery

Inherited from EventsBySliceStartingFromSnapshotsQuery

Inherited from CurrentEventsBySliceStartingFromSnapshotsQuery

Inherited from EventsBySliceQuery

Inherited from CurrentEventsBySliceQuery

Inherited from ReadJournal

Inherited from AnyRef

Inherited from Any

Ungrouped