final class EventsBySliceFirehoseQuery extends ReadJournal with EventsBySliceQuery with EventsBySliceStartingFromSnapshotsQuery with EventTimestampQuery with LoadEventQuery

This wrapper of EventsBySliceQuery gives better scalability when many consumers retrieve the same events, for example many Projections of the same entity type. The purpose is to share the stream of events from the database and fan out to connected consumer streams. Thereby fewer queries and loading of events from the database.

It is retrieved with:

val queries = PersistenceQuery(system).readJournalFor[EventsBySliceQuery](EventsBySliceFirehoseQuery.Identifier)

Corresponding Java API is in akka.persistence.query.typed.javadsl.EventsBySliceFirehoseQuery.

Configuration settings can be defined in the configuration section with the absolute path corresponding to the identifier, which is "akka.persistence.query.events-by-slice-firehose" for the default EventsBySliceFirehoseQuery#Identifier. See reference.conf.

Annotations
@nowarn()
Source
EventsBySliceFirehoseQuery.scala
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EventsBySliceFirehoseQuery
  2. LoadEventQuery
  3. EventTimestampQuery
  4. EventsBySliceStartingFromSnapshotsQuery
  5. EventsBySliceQuery
  6. ReadJournal
  7. AnyRef
  8. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new EventsBySliceFirehoseQuery(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. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from EventsBySliceFirehoseQuery toany2stringadd[EventsBySliceFirehoseQuery] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (EventsBySliceFirehoseQuery, B)
    Implicit
    This member is added by an implicit conversion from EventsBySliceFirehoseQuery toArrowAssoc[EventsBySliceFirehoseQuery] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  8. def ensuring(cond: (EventsBySliceFirehoseQuery) => Boolean, msg: => Any): EventsBySliceFirehoseQuery
    Implicit
    This member is added by an implicit conversion from EventsBySliceFirehoseQuery toEnsuring[EventsBySliceFirehoseQuery] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  9. def ensuring(cond: (EventsBySliceFirehoseQuery) => Boolean): EventsBySliceFirehoseQuery
    Implicit
    This member is added by an implicit conversion from EventsBySliceFirehoseQuery toEnsuring[EventsBySliceFirehoseQuery] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: Boolean, msg: => Any): EventsBySliceFirehoseQuery
    Implicit
    This member is added by an implicit conversion from EventsBySliceFirehoseQuery toEnsuring[EventsBySliceFirehoseQuery] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean): EventsBySliceFirehoseQuery
    Implicit
    This member is added by an implicit conversion from EventsBySliceFirehoseQuery toEnsuring[EventsBySliceFirehoseQuery] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. 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 exact meaning of the offset depends on the journal and must be documented by the read journal plugin. It may be a sequential id number that uniquely identifies the position of each event within the event stream. Distributed data stores cannot easily support those semantics and they may use a weaker meaning. For example it may be a timestamp (taken when the event was created or stored). Timestamps are not unique and not strictly ordered, since clocks on different machines may not be synchronized.

    In strongly consistent stores, where the offset is unique and strictly ordered, the stream should start from the next event after the offset. Otherwise, the read journal should ensure that between an invocation that returned an event with the given offset, and this invocation, no events are missed. Depending on the journal implementation, this may mean that this invocation will return events that were already returned by the previous invocation, including the event with the passed in offset.

    The returned event stream should be ordered by offset if possible, but this can also be difficult to fulfill for a distributed data store. The order must be documented by the read journal plugin.

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

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

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

    Same as EventsBySliceQuery 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.

    Definition Classes
    EventsBySliceFirehoseQueryEventsBySliceStartingFromSnapshotsQuery
  16. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. def loadEnvelope[Event](persistenceId: String, sequenceNr: Long): Future[EventEnvelope[Event]]

    Load a single event on demand.

    Load a single event on demand. The Future is completed with a NoSuchElementException if the event for the given persistenceId and sequenceNr doesn't exist.

    Definition Classes
    EventsBySliceFirehoseQueryLoadEventQuery
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  23. def sliceForPersistenceId(persistenceId: String): Int
  24. def sliceRanges(numberOfRanges: Int): Seq[Range]
  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. def timestampOf(persistenceId: String, sequenceNr: Long): Future[Option[Instant]]
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  30. 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)

  2. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from EventsBySliceFirehoseQuery toStringFormat[EventsBySliceFirehoseQuery] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. def [B](y: B): (EventsBySliceFirehoseQuery, B)
    Implicit
    This member is added by an implicit conversion from EventsBySliceFirehoseQuery toArrowAssoc[EventsBySliceFirehoseQuery] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from LoadEventQuery

Inherited from EventTimestampQuery

Inherited from EventsBySliceQuery

Inherited from ReadJournal

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromEventsBySliceFirehoseQuery to any2stringadd[EventsBySliceFirehoseQuery]

Inherited by implicit conversion StringFormat fromEventsBySliceFirehoseQuery to StringFormat[EventsBySliceFirehoseQuery]

Inherited by implicit conversion Ensuring fromEventsBySliceFirehoseQuery to Ensuring[EventsBySliceFirehoseQuery]

Inherited by implicit conversion ArrowAssoc fromEventsBySliceFirehoseQuery to ArrowAssoc[EventsBySliceFirehoseQuery]

Ungrouped