abstract class StatusObserver[-Envelope] extends AnyRef
Track status of a projection by implementing a StatusObserver
and install it using
Projection.withStatusObserver.
- Annotations
- @ApiMayChange()
- Source
- StatusObserver.scala
- Alphabetic
- By Inheritance
- StatusObserver
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new StatusObserver()
Abstract Value Members
- abstract def afterProcess(projectionId: ProjectionId, envelope: Envelope): Unit
Invoked as soon as the projected information is readable by a separate thread (e.g committed to database).
Invoked as soon as the projected information is readable by a separate thread (e.g committed to database). It will not be invoked if the envelope is skipped or handling fails.
- abstract def beforeProcess(projectionId: ProjectionId, envelope: Envelope): Unit
Called as soon as an envelop is ready to be processed.
Called as soon as an envelop is ready to be processed. The envelope processing may not start immediately if grouping or batching are enabled.
- abstract def error(projectionId: ProjectionId, env: Envelope, cause: Throwable, recoveryStrategy: HandlerRecoveryStrategy): Unit
Called when processing of an envelope failed.
Called when processing of an envelope failed. The invocation of this method is not guaranteed when the handler failure causes a stream failure (e.g. using a Flow-based handler or a recovery strategy that immediately fails).
From the
recoveryStrategy
and keeping track how many timeserror
is called it's possible to derive what next step will be; fail, skip, retry. - abstract def failed(projectionId: ProjectionId, cause: Throwable): Unit
Called when a projection failed.
Called when a projection failed.
The projection will be restarted unless the projection restart backoff settings are configured with
max-restarts
limit. - abstract def offsetProgress(projectionId: ProjectionId, env: Envelope): Unit
Called when the corresponding offset has been stored.
Called when the corresponding offset has been stored. It might not be called for each envelope.
- abstract def started(projectionId: ProjectionId): Unit
Called when a projection is started.
Called when a projection is started. Also called after the projection has been restarted.
- abstract def stopped(projectionId: ProjectionId): Unit
Called when a projection is stopped.
Called when a projection is stopped. Also called before the projection is restarted.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- 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(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- 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()
- 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()