Class/Object

com.lightbend.lagom.scaladsl.persistence

ReadSideProcessor

Related Docs: object ReadSideProcessor | package persistence

Permalink

abstract class ReadSideProcessor[Event <: AggregateEvent[Event]] extends AnyRef

A read side processor.

Read side processors consume events produced by com.lightbend.lagom.scaladsl.persistence.PersistentEntity instances, and update some read side data store that is optimized for queries.

The events they consume must be tagged, and a read side is able to consume events of one or more tags. Events are usually tagged according to some supertype of event, for example, events may be tagged as Order events. They may also be tagged according to a hash of the ID of the entity associated with the event - this allows read side event handling to be sharded across many nodes. Tagging is done using com.lightbend.lagom.scaladsl.persistence.AggregateEventTag.

Read side processors are responsible for tracking what events they have already seen. This is done using offsets, which are sequential values associated with each event. Note that end users typically will not need to handle offsets themselves, this will be provided by Lagom support specific to the read side datastore, and end users can just focus on handling the events themselves.

Source
ReadSideProcessor.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ReadSideProcessor
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ReadSideProcessor()

    Permalink

Abstract Value Members

  1. abstract def aggregateTags: Set[AggregateEventTag[Event]]

    Permalink

    The tags to aggregate.

    The tags to aggregate.

    This must return at least one tag to aggregate. Read side processors will be sharded over the cluster by these tags, so if events are tagged by a shard key, the read side processing load can be distributed across the cluster.

    returns

    The tags to aggregate.

  2. abstract def buildHandler(): ReadSideHandler[Event]

    Permalink

    Return a ReadSideProcessor#ReadSideHandler for the given offset type.

    Return a ReadSideProcessor#ReadSideHandler for the given offset type.

    returns

    The offset processor.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from ReadSideProcessor[Event] to any2stringadd[ReadSideProcessor[Event]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (ReadSideProcessor[Event], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from ReadSideProcessor[Event] to ArrowAssoc[ReadSideProcessor[Event]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def ensuring(cond: (ReadSideProcessor[Event]) ⇒ Boolean, msg: ⇒ Any): ReadSideProcessor[Event]

    Permalink
    Implicit information
    This member is added by an implicit conversion from ReadSideProcessor[Event] to Ensuring[ReadSideProcessor[Event]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  9. def ensuring(cond: (ReadSideProcessor[Event]) ⇒ Boolean): ReadSideProcessor[Event]

    Permalink
    Implicit information
    This member is added by an implicit conversion from ReadSideProcessor[Event] to Ensuring[ReadSideProcessor[Event]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: Boolean, msg: ⇒ Any): ReadSideProcessor[Event]

    Permalink
    Implicit information
    This member is added by an implicit conversion from ReadSideProcessor[Event] to Ensuring[ReadSideProcessor[Event]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean): ReadSideProcessor[Event]

    Permalink
    Implicit information
    This member is added by an implicit conversion from ReadSideProcessor[Event] to Ensuring[ReadSideProcessor[Event]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from ReadSideProcessor[Event] to StringFormat[ReadSideProcessor[Event]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  18. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. def readSideName: String

    Permalink

    The name of this read side.

    The name of this read side.

    This name should be unique among the read sides and entity types of the service. By default it is using the short class name of the concrete ReadSideProcessor class. Subclasses may override to define other type names. It is wise to override and retain the original name when the class name is changed because this name is used to identify read sides throughout the cluster.

  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. def [B](y: B): (ReadSideProcessor[Event], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from ReadSideProcessor[Event] to ArrowAssoc[ReadSideProcessor[Event]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from ReadSideProcessor[Event] to any2stringadd[ReadSideProcessor[Event]]

Inherited by implicit conversion StringFormat from ReadSideProcessor[Event] to StringFormat[ReadSideProcessor[Event]]

Inherited by implicit conversion Ensuring from ReadSideProcessor[Event] to Ensuring[ReadSideProcessor[Event]]

Inherited by implicit conversion ArrowAssoc from ReadSideProcessor[Event] to ArrowAssoc[ReadSideProcessor[Event]]

Ungrouped