Packages

final class GrpcReadJournal extends ReadJournal with EventsBySliceQuery with EventTimestampQuery with LoadEventQuery

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GrpcReadJournal
  2. LoadEventQuery
  3. EventTimestampQuery
  4. EventsBySliceQuery
  5. ReadJournal
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new GrpcReadJournal(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() @HotSpotIntrinsicCandidate()
  6. def close(): Future[Done]

    Close the gRPC client.

    Close the gRPC client. It will be automatically closed when the ActorSystem is terminated, so invoking this is only needed when there is a need to close the resource before that. After closing the GrpcReadJournal instance cannot be used again.

  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. def eventsBySlices[Evt](streamId: String, minSlice: Int, maxSlice: Int, offset: Offset): Source[EventEnvelope[Evt], 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 transaction_timestamp() when the event was stored. transaction_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 GrpcReadJournal.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.

    Definition Classes
    GrpcReadJournal → EventsBySliceQuery
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def loadEnvelope[Evt](persistenceId: String, sequenceNr: Long): Future[EventEnvelope[Evt]]
    Definition Classes
    GrpcReadJournal → LoadEventQuery
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def sliceForPersistenceId(persistenceId: String): Int
    Definition Classes
    GrpcReadJournal → EventsBySliceQuery
  18. def sliceRanges(numberOfRanges: Int): Seq[Range]
    Definition Classes
    GrpcReadJournal → EventsBySliceQuery
  19. def streamId: String

    The identifier of the stream to consume, which is exposed by the producing/publishing side.

    The identifier of the stream to consume, which is exposed by the producing/publishing side. It is defined in the GrpcQuerySettings.

  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def timestampOf(persistenceId: String, sequenceNr: Long): Future[Option[Instant]]
    Definition Classes
    GrpcReadJournal → EventTimestampQuery
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. 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

Inherited from LoadEventQuery

Inherited from EventTimestampQuery

Inherited from EventsBySliceQuery

Inherited from ReadJournal

Inherited from AnyRef

Inherited from Any

Ungrouped