Class

com.rbmhtechnology.eventuate

AbstractEventsourcedView

Related Doc: package eventuate

Permalink

abstract class AbstractEventsourcedView extends EventsourcedView with ConditionalRequests

Java API for actors that implement EventsourcedView.

Actor handlers may be initialized once in the constructor with various set-methods (e.g. setOnCommand, setOnEvent) or by overriding the respective handler (e.g. onCommand(...), onEvent(...)). If a handler is overridden, the behaviour of it's respective set-method will be ignored.

Example:

public class HelloActor extends AbstractEventsourcedView {
   public HelloActor(final String id, final ActorRef eventLog) {
     super(id, eventLog);

     onCommand(ReceiveBuilder
       .match(String.class, str -> str.equals("Hello"), value -> sender().tell("World", self())
       .matchAny(ev -> value -> sender().tell("Please try again", self())
       .build());
   }

   public PartialFunction<Object, BoxedUnit> onEvent() {
     return ReceiveBuilder
       .matchAny(HelloEvent.class, ev -> handleEvent(ev))
       .build();
   }
}
See also

EventsourcedView

Linear Supertypes
ConditionalRequests, EventsourcedVersion, EventsourcedView, Stash, RequiresMessageQueue[DequeBasedMessageQueueSemantics], UnrestrictedStash, StashSupport, Actor, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AbstractEventsourcedView
  2. ConditionalRequests
  3. EventsourcedVersion
  4. EventsourcedView
  5. Stash
  6. RequiresMessageQueue
  7. UnrestrictedStash
  8. StashSupport
  9. Actor
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new AbstractEventsourcedView(id: String, eventLog: ActorRef)

    Permalink

Type Members

  1. type Handler[A] = (Try[A]) ⇒ Unit

    Permalink
    Definition Classes
    EventsourcedView
  2. type Receive = PartialFunction[Any, Unit]

    Permalink
    Definition Classes
    Actor

Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def aggregateId: Option[String]

    Permalink

    Optional aggregate id.

    Optional aggregate id. It is used for routing DurableEvents to event-sourced destinations which can be EventsourcedViews or EventsourcedActors. By default, an event is routed to an event-sourced destination with an undefined aggregateId. If a destination's aggregateId is defined it will only receive events with a matching aggregate id in DurableEvent#destinationAggregateIds.

    Definition Classes
    AbstractEventsourcedViewEventsourcedView
  5. def aroundPostRestart(reason: Throwable): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  6. def aroundPostStop(): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  7. def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  8. def aroundPreStart(): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  9. def aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  10. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def commandContext: BehaviorContext

    Permalink

    Returns the command BehaviorContext.

    Returns the command BehaviorContext.

    Definition Classes
    EventsourcedView
  13. implicit val context: ActorContext

    Permalink
    Definition Classes
    Actor
  14. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  16. def eventContext: BehaviorContext

    Permalink

    Returns the event BehaviorContext.

    Returns the event BehaviorContext.

    Definition Classes
    EventsourcedView
  17. val eventLog: ActorRef

    Permalink

    Event log actor.

    Event log actor.

    Definition Classes
    AbstractEventsourcedViewEventsourcedView
  18. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  19. def getAggregateId: Optional[String]

    Permalink

    Java API of aggregateId.

    Java API of aggregateId.

    See also

    EventsourcedView

  20. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  21. final def getLastEmitterAggregateId: Optional[String]

    Permalink

    Java API of lastEmitterAggregateId.

  22. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  23. val id: String

    Permalink

    Global unique actor id.

    Global unique actor id.

    Definition Classes
    AbstractEventsourcedViewEventsourcedView
  24. val instanceId: Int

    Permalink
    Definition Classes
    EventsourcedView
  25. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  26. final def lastEmitterAggregateId: Option[String]

    Permalink

    Emitter aggregate id of the last handled event.

    Emitter aggregate id of the last handled event.

    Definition Classes
    EventsourcedView
  27. final def lastEmitterId: String

    Permalink

    Emitter id of the last handled event.

    Emitter id of the last handled event.

    Definition Classes
    EventsourcedView
  28. final def lastProcessId: String

    Permalink

    Id of the local event log that initially wrote the event.

    Id of the local event log that initially wrote the event.

    Definition Classes
    EventsourcedView
  29. final def lastSequenceNr: Long

    Permalink

    Sequence number of the last handled event.

    Sequence number of the last handled event.

    Definition Classes
    EventsourcedView
  30. final def lastSystemTimestamp: Long

    Permalink

    Wall-clock timestamp of the last handled event.

    Wall-clock timestamp of the last handled event.

    Definition Classes
    EventsourcedView
  31. final def lastVectorTimestamp: VectorTime

    Permalink

    Vector timestamp of the last handled event.

    Vector timestamp of the last handled event.

    Definition Classes
    EventsourcedView
  32. val logger: LoggingAdapter

    Permalink

    This actor's logging adapter.

    This actor's logging adapter.

    Definition Classes
    EventsourcedView
  33. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  36. def onCommand: Receive

    Permalink

    Java API of the command handler.

    Java API of the command handler.

    Returns a partial function that defines the actor's command handling behaviour. Use ReceiveBuilder to define the behaviour.

    Takes precedence over setOnCommand.

    Definition Classes
    AbstractEventsourcedViewEventsourcedView
    See also

    EventsourcedView

  37. def onEvent: Receive

    Permalink

    Java API of the event handler.

    Java API of the event handler.

    Returns a partial function that defines the actor's event handling behaviour. Use ReceiveBuilder to define the behaviour.

    Takes precedence over setOnEvent.

    Definition Classes
    AbstractEventsourcedViewEventsourcedView
    See also

    EventsourcedView

  38. def onRecover: ResultHandler[Unit]

    Permalink

    Java API of the recovery handler.

    Java API of the recovery handler.

    Returns a result handler that defines the actor's recover handling behaviour. Use ResultHandler to define the behaviour.

    Takes precedence over setOnRecover.

    See also

    EventsourcedView

  39. final def onRecovery: Handler[Unit]

    Permalink

    Recovery completion handler.

    Recovery completion handler. If called with a Failure, the actor will be stopped in any case, regardless of the action taken by the returned handler. The default handler implementation does nothing and can be overridden by implementations.

    Definition Classes
    AbstractEventsourcedViewEventsourcedView
  40. def onSnapshot: Receive

    Permalink

    Java API of the snapshot handler.

    Java API of the snapshot handler.

    Returns a partial function that defines the actor's snapshot handling behaviour. Use ReceiveBuilder to define the behaviour.

    Takes precedence over setOnSnapshot.

    Definition Classes
    AbstractEventsourcedViewEventsourcedView
    See also

    EventsourcedView

  41. def postRestart(reason: Throwable): Unit

    Permalink
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  42. def postStop(): Unit

    Permalink

    Sets recovering to false before calling super.postStop.

    Sets recovering to false before calling super.postStop.

    Definition Classes
    EventsourcedView → UnrestrictedStash → Actor
  43. def preRestart(reason: Throwable, message: Option[Any]): Unit

    Permalink

    Sets recovering to false before calling super.preRestart.

    Sets recovering to false before calling super.preRestart.

    Definition Classes
    EventsourcedView → UnrestrictedStash → Actor
  44. def preStart(): Unit

    Permalink

    Initiates recovery.

    Initiates recovery.

    Definition Classes
    EventsourcedView → Actor
  45. final def receive: Receive

    Permalink

    Initialization behavior.

    Initialization behavior.

    Definition Classes
    EventsourcedView → Actor
  46. final def recovering: Boolean

    Permalink

    Returns true if this actor is currently recovering internal state by consuming replayed events from the event log.

    Returns true if this actor is currently recovering internal state by consuming replayed events from the event log. Returns false after recovery completed and the actor switches to consuming live events.

    Definition Classes
    EventsourcedView
  47. def replayBatchSize: Int

    Permalink

    Maximum number of events to be replayed to this actor before replaying is suspended.

    Maximum number of events to be replayed to this actor before replaying is suspended. A suspended replay is resumed automatically after all replayed events haven been handled by this actor's event handler (= backpressure). The default value for the maximum replay batch size is given by configuration item eventuate.log.replay-batch-size. Configured values can be overridden by overriding this method.

    Definition Classes
    EventsourcedView
  48. def replayFromSequenceNr: Option[Long]

    Permalink

    Override to provide an application-defined log sequence number from which event replay will start.

    Override to provide an application-defined log sequence number from which event replay will start.

    If Some(snr) is returned snapshot loading will be skipped and replay will start from the given sequence number snr.

    If None is returned the actor proceeds with the regular snapshot loading procedure.

    Definition Classes
    EventsourcedView
  49. def save(snapshot: Any, handler: ResultHandler[SnapshotMetadata]): Unit

    Permalink

    Java API of save.

    Java API of save.

    Must be supplied with a ResultHandler to process successful or failed results.

    See also

    EventsourcedView

  50. final def save(snapshot: Any)(handler: Handler[SnapshotMetadata]): Unit

    Permalink

    Asynchronously saves the given snapshot and calls handler with the generated snapshot metadata.

    Asynchronously saves the given snapshot and calls handler with the generated snapshot metadata. The handler can obtain a reference to the initial message sender with sender().

    Definition Classes
    EventsourcedView
  51. implicit final val self: ActorRef

    Permalink
    Definition Classes
    Actor
  52. final def sender(): ActorRef

    Permalink
    Definition Classes
    Actor
  53. final def setOnCommand(handler: Receive): Unit

    Permalink

    Java API that sets this actor's command handler.

    Java API that sets this actor's command handler.

    Supplied with a partial function that defines the actor's command handling behaviour. Use ReceiveBuilder to define the behaviour.

    If onCommand is implemented, the supplied behaviour is ignored.

    handler

    a function that defines this actor's command handling behaviour.

    Attributes
    protected
    See also

    EventsourcedView

  54. final def setOnEvent(handler: Receive): Unit

    Permalink

    Java API that sets this actor's event handler.

    Java API that sets this actor's event handler.

    Supplied with a partial function that defines the actor's event handling behaviour. Use ReceiveBuilder to define the behaviour.

    If onEvent is implemented, the supplied behaviour is ignored.

    handler

    a function that defines this actor's event handling behaviour.

    Attributes
    protected
    See also

    EventsourcedView

  55. final def setOnRecover(handler: ResultHandler[Unit]): Unit

    Permalink

    Java API that sets this actor's recovery handler.

    Java API that sets this actor's recovery handler.

    Supplied with a result handler that defines the actor's recover handling behaviour. Use ResultHandler to define the behaviour.

    If onRecover is implemented, the supplied behaviour is ignored.

    handler

    a ResultHandler that defines this actor's recover handling behaviour.

    Attributes
    protected
    See also

    EventsourcedView

  56. final def setOnSnapshot(handler: Receive): Unit

    Permalink

    Java API that sets this actor's snapshot handler.

    Java API that sets this actor's snapshot handler.

    Supplied with a partial function that defines the actor's snapshot handling behaviour. Use ReceiveBuilder to define the behaviour.

    If onSnapshot is implemented, the supplied behaviour is ignored.

    handler

    a function that defines this actor's snapshot handling behaviour.

    Attributes
    protected
    See also

    EventsourcedView

  57. def snapshotContext: BehaviorContext

    Permalink

    Returns the snapshot BehaviorContext.

    Returns the snapshot BehaviorContext.

    Definition Classes
    EventsourcedView
  58. def stash(): Unit

    Permalink

    Adds the current command to the user's command stash.

    Adds the current command to the user's command stash. Must not be used in the event handler.

    Definition Classes
    EventsourcedView → StashSupport
  59. def supervisorStrategy: SupervisorStrategy

    Permalink
    Definition Classes
    Actor
  60. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  62. def unhandled(message: Any): Unit

    Permalink
    Definition Classes
    Actor
  63. def unstashAll(): Unit

    Permalink

    Prepends all stashed commands to the actor's mailbox and then clears the command stash.

    Prepends all stashed commands to the actor's mailbox and then clears the command stash. Has no effect if the actor is recovering i.e. if recovering returns true.

    Definition Classes
    EventsourcedView → StashSupport
  64. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ConditionalRequests

Inherited from EventsourcedVersion

Inherited from EventsourcedView

Inherited from Stash

Inherited from RequiresMessageQueue[DequeBasedMessageQueueSemantics]

Inherited from UnrestrictedStash

Inherited from StashSupport

Inherited from Actor

Inherited from AnyRef

Inherited from Any

Ungrouped