c

akka.persistence.typed.state.javadsl

DurableStateBehavior

abstract class DurableStateBehavior[Command, State] extends DeferredBehavior[Command]

A Behavior for a persistent actor with durable storage of its state.

API May Change

Annotations
@ApiMayChange()
Source
DurableStateBehavior.scala
Linear Supertypes
DeferredBehavior[Command], Behavior[Command], AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DurableStateBehavior
  2. DeferredBehavior
  3. Behavior
  4. AnyRef
  5. Any
Implicitly
  1. by BehaviorDecorators
  2. by any2stringadd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new DurableStateBehavior(persistenceId: PersistenceId, onPersistFailure: BackoffSupervisorStrategy)

    If using onPersistFailure the supervision is only around the DurableStateBehavior not any outer setup/withTimers block.

    If using onPersistFailure the supervision is only around the DurableStateBehavior not any outer setup/withTimers block. If using restart any actions e.g. scheduling timers, can be done on the PreRestart signal or on the RecoveryCompleted signal.

    persistenceId

    stable unique identifier for the DurableStateBehavior

    onPersistFailure

    BackoffSupervisionStrategy for persist failures

  2. new DurableStateBehavior(persistenceId: PersistenceId)

    persistenceId

    stable unique identifier for the DurableStateBehavior

Abstract Value Members

  1. abstract def commandHandler(): CommandHandler[Command, State]

    Implement by handling incoming commands and return an Effect() to persist or signal other effects of the command handling such as stopping the behavior or others.

    Implement by handling incoming commands and return an Effect() to persist or signal other effects of the command handling such as stopping the behavior or others.

    Use DurableStateBehavior#newCommandHandlerBuilder to define the command handlers.

    The command handlers are only invoked when the actor is running (i.e. not recovering). While the actor is persisting state, the incoming messages are stashed and only delivered to the handler once persisting them has completed.

    Attributes
    protected
  2. abstract def emptyState: State

    Implement by returning the initial empty state object.

    Implement by returning the initial empty state object. This object will be passed into this behaviors handlers, until a new state replaces it.

    Also known as "zero state" or "neutral state".

    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from DurableStateBehavior[Command, State] toany2stringadd[DurableStateBehavior[Command, State]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (DurableStateBehavior[Command, State], B)
    Implicit
    This member is added by an implicit conversion from DurableStateBehavior[Command, State] toArrowAssoc[DurableStateBehavior[Command, State]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def Effect: EffectFactories[State]

    Factory of effects.

    Factory of effects.

    Return effects from your handlers in order to instruct persistence on how to act on the incoming message (i.e. persist state).

    Attributes
    protected
  7. def apply(context: TypedActorContext[Command]): Behavior[Command]

    INTERNAL API: DeferredBehavior init, not for user extension

    INTERNAL API: DeferredBehavior init, not for user extension

    Definition Classes
    DurableStateBehavior → DeferredBehavior
    Annotations
    @InternalApi()
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. val behavior: Behavior[Command]
    Implicit
    This member is added by an implicit conversion from DurableStateBehavior[Command, State] toBehaviorDecorators[Command] performed by method BehaviorDecorators in akka.actor.typed.Behavior.
    Definition Classes
    BehaviorDecorators
  10. def changeEventHandler(): ChangeEventHandler[Command, State, _]

    API May Change: Override this and implement the ChangeEventHandler to store additional change event when the state is updated or deleted.

    API May Change: Override this and implement the ChangeEventHandler to store additional change event when the state is updated or deleted. The event can be used in Projections.

    Attributes
    protected
    Annotations
    @ApiMayChange()
  11. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  12. def durableStateStorePluginId: String

    Override and define the DurableStateStore plugin id that this actor should use instead of the default.

  13. def ensuring(cond: (DurableStateBehavior[Command, State]) => Boolean, msg: => Any): DurableStateBehavior[Command, State]
    Implicit
    This member is added by an implicit conversion from DurableStateBehavior[Command, State] toEnsuring[DurableStateBehavior[Command, State]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: (DurableStateBehavior[Command, State]) => Boolean): DurableStateBehavior[Command, State]
    Implicit
    This member is added by an implicit conversion from DurableStateBehavior[Command, State] toEnsuring[DurableStateBehavior[Command, State]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. def ensuring(cond: Boolean, msg: => Any): DurableStateBehavior[Command, State]
    Implicit
    This member is added by an implicit conversion from DurableStateBehavior[Command, State] toEnsuring[DurableStateBehavior[Command, State]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: Boolean): DurableStateBehavior[Command, State]
    Implicit
    This member is added by an implicit conversion from DurableStateBehavior[Command, State] toEnsuring[DurableStateBehavior[Command, State]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  19. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  20. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. final def lastSequenceNumber(ctx: ActorContext[_]): Long

    The last sequence number that was persisted, can only be called from inside the handlers of a DurableStateBehavior

  23. final def narrow[U <: Command]: Behavior[U]

    Narrow the type of this Behavior, which is always a safe operation.

    Narrow the type of this Behavior, which is always a safe operation. This method is necessary to implement the contravariant nature of Behavior (which cannot be expressed directly due to type inference problems).

    Definition Classes
    Behavior
  24. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  25. def newCommandHandlerBuilder(): CommandHandlerBuilder[Command, State]

    returns

    A new, mutable, command handler builder

    Attributes
    protected
  26. final def newSignalHandlerBuilder(): SignalHandlerBuilder[State]

    returns

    A new, mutable signal handler builder

    Attributes
    protected
  27. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  28. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  29. val persistenceId: PersistenceId
  30. def signalHandler(): SignalHandler[State]

    Override to react on general lifecycle signals and DurableStateBehavior specific signals (recovery related).

    Override to react on general lifecycle signals and DurableStateBehavior specific signals (recovery related). Those are all subtypes of akka.persistence.typed.state.DurableStateSignal.

    Use DurableStateBehavior#newSignalHandlerBuilder to define the signal handler.

    Attributes
    protected
  31. def snapshotAdapter(): SnapshotAdapter[State]

    Transform the state into another type before giving it to and from the store.

    Transform the state into another type before giving it to and from the store. Can be used to migrate from different state types e.g. when migration from PersistentFSM to Typed DurableStateBehavior.

  32. def stashCapacity: Optional[Integer]

    Override to define a custom stash capacity per entity.

    Override to define a custom stash capacity per entity. If not defined, the default akka.persistence.typed.stash-capacity will be used.

  33. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  34. def tag: String

    The tag that can be used in persistence query.

  35. def toString(): String
    Definition Classes
    AnyRef → Any
  36. def transformMessages[Outer](matcher: PartialFunction[Outer, Command])(implicit arg0: ClassTag[Outer]): Behavior[Outer]

    Transform the incoming messages by placing a funnel in front of the wrapped Behavior: the supplied PartialFunction decides which message to pull in (those that it is defined at) and may transform the incoming message to place them into the wrapped Behavior’s type hierarchy.

    Transform the incoming messages by placing a funnel in front of the wrapped Behavior: the supplied PartialFunction decides which message to pull in (those that it is defined at) and may transform the incoming message to place them into the wrapped Behavior’s type hierarchy. Signals are not transformed.

    Example:

    val b: Behavior[Number] =
      Behaviors
        .receive[String] { (ctx, msg) =>
          println(msg)
          Behaviors.same
        }
        .transformMessages[Number] {
          case b: BigDecimal => s"BigDecimal($b)"
          case i: BigInt     => s"BigInteger($i)"
          // all other kinds of Number will be `unhandled`
        }

    The ClassTag for Outer ensures that only messages of this class or a subclass thereof will be intercepted. Other message types (e.g. a private protocol) will bypass the interceptor and be continue to the inner behavior untouched.

    Implicit
    This member is added by an implicit conversion from DurableStateBehavior[Command, State] toBehaviorDecorators[Command] performed by method BehaviorDecorators in akka.actor.typed.Behavior.
    Definition Classes
    BehaviorDecorators
  37. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  38. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  39. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from DurableStateBehavior[Command, State] toStringFormat[DurableStateBehavior[Command, State]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. def [B](y: B): (DurableStateBehavior[Command, State], B)
    Implicit
    This member is added by an implicit conversion from DurableStateBehavior[Command, State] toArrowAssoc[DurableStateBehavior[Command, State]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from DeferredBehavior[Command]

Inherited from Behavior[Command]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion BehaviorDecorators fromDurableStateBehavior[Command, State] to BehaviorDecorators[Command]

Inherited by implicit conversion any2stringadd fromDurableStateBehavior[Command, State] to any2stringadd[DurableStateBehavior[Command, State]]

Inherited by implicit conversion StringFormat fromDurableStateBehavior[Command, State] to StringFormat[DurableStateBehavior[Command, State]]

Inherited by implicit conversion Ensuring fromDurableStateBehavior[Command, State] to Ensuring[DurableStateBehavior[Command, State]]

Inherited by implicit conversion ArrowAssoc fromDurableStateBehavior[Command, State] to ArrowAssoc[DurableStateBehavior[Command, State]]

Ungrouped