Class EventSourcedBehavior$

java.lang.Object
org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior$

public class EventSourcedBehavior$ extends Object
  • Field Details

    • MODULE$

      public static final EventSourcedBehavior$ MODULE$
      Static reference to the singleton instance of this Scala object.
  • Constructor Details

    • EventSourcedBehavior$

      public EventSourcedBehavior$()
  • Method Details

    • apply

      public <Command, Event, State> EventSourcedBehavior<Command,Event,State> apply(PersistenceId persistenceId, State emptyState, scala.Function2<State,Command,Effect<Event,State>> commandHandler, scala.Function2<State,Event,State> eventHandler)
      Create a Behavior for a persistent actor.

      Parameters:
      persistenceId - stable unique identifier for the event sourced behavior
      emptyState - the initial state for the entity before any events have been processed
      commandHandler - map commands to effects e.g. persisting events, replying to commands
      eventHandler - compute the new state given the current state when an event has been persisted
    • withEnforcedReplies

      public <Command, Event, State> EventSourcedBehavior<Command,Event,State> withEnforcedReplies(PersistenceId persistenceId, State emptyState, scala.Function2<State,Command,ReplyEffect<Event,State>> commandHandler, scala.Function2<State,Event,State> eventHandler)
      Create a Behavior for a persistent actor that is enforcing that replies to commands are not forgotten. Then there will be compilation errors if the returned effect isn't a ReplyEffect, which can be created with Effect.reply, Effect.noReply, EffectBuilder.thenReply, or EffectBuilder.thenNoReply.
    • lastSequenceNumber

      public long lastSequenceNumber(ActorContext<?> context)
      The last sequence number that was persisted, can only be called from inside the handlers of an EventSourcedBehavior