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
- Alphabetic
- By Inheritance
- ReadSideProcessor
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ReadSideProcessor()
Abstract Value Members
-
abstract
def
aggregateTags: Set[AggregateEventTag[Event]]
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.
-
abstract
def
buildHandler(): ReadSideHandler[Event]
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
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- 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
-
def
->[B](y: B): (ReadSideProcessor[Event], B)
- Implicit
- 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()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
ensuring(cond: (ReadSideProcessor[Event]) ⇒ Boolean, msg: ⇒ Any): ReadSideProcessor[Event]
- Implicit
- 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
-
def
ensuring(cond: (ReadSideProcessor[Event]) ⇒ Boolean): ReadSideProcessor[Event]
- Implicit
- 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
-
def
ensuring(cond: Boolean, msg: ⇒ Any): ReadSideProcessor[Event]
- Implicit
- 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
-
def
ensuring(cond: Boolean): ReadSideProcessor[Event]
- Implicit
- 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
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- 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()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
readSideName: String
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. -
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
→[B](y: B): (ReadSideProcessor[Event], B)
- Implicit
- 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