Type of this processor's event handler.
Type of this processor's event handler.
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.
Returns the command BehaviorContext.
Returns the command BehaviorContext.
Java API of the command handler.
Java API of the command handler.
Returns a receive object that defines the actor's command handling behaviour. Use ReceiveBuilder to define the behaviour.
Java API of event-processing handler.
Java API of event-processing handler.
Returns a AbstractEventsourcedProcessor.Process that defines the actor's event processing behaviour. Use ProcessBuilder to define the behaviour.
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.
Java API of the snapshot handler.
Java API of the snapshot handler.
Returns a receive object that defines the actor's snapshot handling behaviour. Use ReceiveBuilder to define the behaviour.
Returns an command BehaviorContext that doesn't allow event handler behavior changes.
Returns an command BehaviorContext that doesn't allow event handler behavior changes. An
attempt to change the event handler behavior with eventContext.become()
will throw an
UnsupportedOperationException.
Event log actor.
Event log actor.
Java API of aggregateId.
Java API of aggregateId.
Java API of commandContext.
Java API of commandContext.
Returns the command BehaviorContext.
Returns this AbstractActor's ActorContext.
Returns this AbstractActor's ActorContext. Mimics AbstractActor.getContext.
Java API of eventContext.
Java API of eventContext.
Returns the event BehaviorContext.
Java API of lastEmitterAggregateId.
Java API of lastEmitterAggregateId.
Java API of lastEmitterId.
Java API of lastEmitterId.
Java API of lastSequenceNr.
Java API of lastSequenceNr.
Java API of lastSystemTimestamp.
Java API of lastSystemTimestamp.
Java API of lastVectorTimestamp.
Java API of lastVectorTimestamp.
Returns the ActorRef for this actor.
Returns the ActorRef for this actor. Mimics AbstractActor.getSelf.
The reference sender Actor of the currently processed message.
The reference sender Actor of the currently processed message. Mimics AbstractActor.getSender.
Java API of snapshotContext.
Java API of snapshotContext.
Returns the snapshot BehaviorContext.
Global unique actor id.
Global unique actor id.
Java API of lastEmirecoveringterId.
Java API of lastEmirecoveringterId.
Emitter aggregate id of the last handled event.
Emitter aggregate id of the last handled event.
Emitter id of the last handled event.
Emitter id of the last handled event.
Id of the local event log that initially wrote the event.
Id of the local event log that initially wrote the event.
Sequence number of the last handled event.
Sequence number of the last handled event.
Wall-clock timestamp of the last handled event.
Wall-clock timestamp of the last handled event.
Vector timestamp of the last handled event.
Vector timestamp of the last handled event.
This actor's logging adapter.
This actor's logging adapter.
Command handler.
Command handler.
Collects processed events generated by processEvent
.
Collects processed events generated by processEvent
.
Java API of readFailure.
Java API of readFailure.
Java API of readSuccess.
Java API of readSuccess.
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.
Snapshot handler.
Snapshot handler.
Java API of writeFailure.
Java API of writeFailure.
Java API of writeSuccess.
Java API of writeSuccess.
Override to allow post-processing of DurableEvent instances wrapping events generated by processEvent
.
Override to allow post-processing of DurableEvent instances wrapping events generated by processEvent
.
Amongst other things, this can e.g. be used to set different or additional aggregate IDs for custom routing destinations (which by default take the same routing destinations as the original event that was processed).
Sets recovering
to false
before calling super.postStop
.
Sets recovering
to false
before calling super.postStop
.
Sets recovering
to false
before calling super.preRestart
.
Sets recovering
to false
before calling super.preRestart
.
Initiates recovery.
Initiates recovery.
creates a new empty ProcessBuilder
creates a new empty ProcessBuilder
Asynchronously reads the processing progress from the target event log.
Asynchronously reads the processing progress from the target event log.
Sets the read processing progress for this processor and returns it incremented by 1.
Sets the read processing progress for this processor and returns it incremented by 1.
The default read timeout configured with the eventuate.log.read-timeout
parameter.
The default read timeout configured with the eventuate.log.read-timeout
parameter.
Can be overridden.
Initialization behavior.
Initialization behavior.
Creates a new empty ReceiveBuilder
.
Creates a new empty ReceiveBuilder
. Mimics AbstractActor.receiveBuilder.
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.
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.
Disallow for EventsourcedWriter and subclasses as event processing progress is determined by read
and readSuccess
.
Disallow for EventsourcedWriter and subclasses as event processing progress is determined by read
and readSuccess
.
Java API of save.
Java API of save.
Must be supplied with a ResultHandler to process successful or failed results.
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()
.
Returns the snapshot BehaviorContext.
Returns the snapshot BehaviorContext.
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.
This processor's target event log.
This processor's target event log.
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
.
Asynchronously writes processed events that have been collected since the last write together with the current processing progress.
Asynchronously writes processed events that have been collected since the last write together
with the current processing progress. If the number of processed events since the last write
is greater than the configured eventuate.log.write-batch-size
multiple batches with a size
less than or equal to eventuate.log.write-batch-size
will be written sequentially. When
splitting into multiple batches it is guaranteed that the processing result of a single event
is part of the same batch i.e. it is guaranteed that the processing result of a single event
is written atomically. If the processing result of a single event is larger than
eventuate.log.write-batch-size
, write
write does not split that batch into smaller batches.
The default write timeout configured with the eventuate.log.write-timeout
parameter.
The default write timeout configured with the eventuate.log.write-timeout
parameter.
Can be overridden.
Java API for actors that implement EventsourcedProcessor.
EventsourcedProcessor
AbstractEventsourcedView for a detailed usage of the Java API