Skip to content

ReplicatedEventSourcedActor

Defined in: src/persistence/ReplicatedEventSourcedActor.ts:120

Base class for user actors. Subclasses must override onReceive. Lifecycle hooks (preStart, postStop, preRestart, postRestart) have sensible defaults but can be overridden.

Actors are single-threaded by construction: the runtime guarantees that onReceive is never invoked concurrently for the same actor. If onReceive returns a Promise, the runtime awaits it before starting the next message.

Cmd

Event

State

new ReplicatedEventSourcedActor<Cmd, Event, State>(cluster): ReplicatedEventSourcedActor<Cmd, Event, State>

Defined in: src/persistence/ReplicatedEventSourcedActor.ts:223

Cluster

ReplicatedEventSourcedActor<Cmd, Event, State>

Actor.constructor

readonly cluster: Cluster

Defined in: src/persistence/ReplicatedEventSourcedActor.ts:223


abstract readonly persistenceId: string

Defined in: src/persistence/ReplicatedEventSourcedActor.ts:122


abstract readonly replicaId: string

Defined in: src/persistence/ReplicatedEventSourcedActor.ts:124

Stable id for this replica. Default: cluster.selfAddress.toString().

abstract initialState(): State

Defined in: src/persistence/ReplicatedEventSourcedActor.ts:126

State


abstract onCommand(state, cmd): void | Promise<void>

Defined in: src/persistence/ReplicatedEventSourcedActor.ts:128

State

Cmd

void | Promise<void>


abstract onEvent(state, event): State

Defined in: src/persistence/ReplicatedEventSourcedActor.ts:127

State

Event

State


onReceive(msg): Promise<void>

Defined in: src/persistence/ReplicatedEventSourcedActor.ts:362

Main message handler. Receives each envelope dequeued from the mailbox. A thrown error (sync or async) is caught by the supervisor.

SubscribeAck | Cmd | ReplicatedEventEnvelope<Event>

Promise<void>

Actor.onReceive


onRecoveryComplete(_state): void | Promise<void>

Defined in: src/persistence/ReplicatedEventSourcedActor.ts:157

Recovery hook — called after the local journal has been replayed.

State

void | Promise<void>


postRestart(_reason): void | Promise<void>

Defined in: src/Actor.ts:55

Called on the fresh instance after a restart. Default: call preStart().

Error

void | Promise<void>

Actor.postRestart


postStop(): void

Defined in: src/persistence/ReplicatedEventSourcedActor.ts:341

Called after the actor has been terminated. Children are already stopped.

void

Actor.postStop


preRestart(_reason, _message?): void | Promise<void>

Defined in: src/Actor.ts:50

Called before a restart, on the instance about to be thrown away. The default stops children and then calls postStop().

Error

Cmd | ReplicatedEventEnvelope<Event>

void | Promise<void>

Actor.preRestart


preStart(): Promise<void>

Defined in: src/persistence/ReplicatedEventSourcedActor.ts:237

Called after construction and before the first message is processed.

Promise<void>

Actor.preStart


supervisorStrategy(): SupervisorStrategy

Defined in: src/Actor.ts:63

Supervisor strategy for this actor’s children. Defaults to restart, up to 10 times per minute, then stop.

SupervisorStrategy

Actor.supervisorStrategy