abstract class UntypedPersistentActorWithAtLeastOnceDelivery extends UntypedPersistentActor with AtLeastOnceDeliveryLike
Java API: Use this class instead of UntypedPersistentActor to send messages
with at-least-once delivery semantics to destinations.
Full documentation in AtLeastOnceDelivery.
- Annotations
- @deprecated
- Deprecated
- (Since version 2.5.0) Use AbstractPersistentActorWithAtLeastOnceDelivery instead. 
- Source
- AtLeastOnceDelivery.scala
- See also
- Alphabetic
- By Inheritance
- UntypedPersistentActorWithAtLeastOnceDelivery
- AtLeastOnceDeliveryLike
- UntypedPersistentActor
- Eventsourced
- PersistenceRecovery
- PersistenceIdentity
- PersistenceStash
- StashFactory
- Stash
- RequiresMessageQueue
- UnrestrictedStash
- StashSupport
- Snapshotter
- UntypedActor
- Actor
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
-  new UntypedPersistentActorWithAtLeastOnceDelivery()
Type Members
- 
      
      
      
        
      
    
      
        
        type
      
      
        Receive = PartialFunction[Any, Unit]
      
      
      - Definition Classes
- Actor
 
Abstract Value Members
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        onReceiveCommand(msg: Any): Unit
      
      
      Java API: command handler. Java API: command handler. Typically validates commands against current state (and/or by communication with other actors). On successful validation, one or more events are derived from a command and these events are then persisted by calling persist.- Definition Classes
- UntypedPersistentActor
- Annotations
- @throws( classOf[Throwable] )
 
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        onReceiveRecover(msg: Any): Unit
      
      
      Java API: recovery handler that receives persisted events during recovery. Java API: recovery handler that receives persisted events during recovery. If a state snapshot has been captured and saved, this handler will receive a SnapshotOffer message followed by events that are younger than the offered snapshot. This handler must not have side-effects other than changing persistent actor state i.e. it should not perform actions that may fail, such as interacting with external services, for example. If there is a problem with recovering the state of the actor from the journal, the error will be logged and the actor will be stopped. - Definition Classes
- UntypedPersistentActor
- Annotations
- @throws( classOf[Throwable] )
- See also
 
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        persistenceId: String
      
      
      Id of the persistent entity for which messages should be replayed. Id of the persistent entity for which messages should be replayed. - Definition Classes
- PersistenceIdentity
 
Concrete Value Members
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        !=(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ##(): Int
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        +(other: String): String
      
      
      - Implicit
- This member is added by an implicit conversion from UntypedPersistentActorWithAtLeastOnceDelivery to any2stringadd[UntypedPersistentActorWithAtLeastOnceDelivery] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        ->[B](y: B): (UntypedPersistentActorWithAtLeastOnceDelivery, B)
      
      
      - Implicit
- This member is added by an implicit conversion from UntypedPersistentActorWithAtLeastOnceDelivery to ArrowAssoc[UntypedPersistentActorWithAtLeastOnceDelivery] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ==(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        aroundPostRestart(reason: Throwable): Unit
      
      
      INTERNAL API. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        aroundPostStop(): Unit
      
      
      INTERNAL API INTERNAL API - Attributes
- protected[akka]
- Definition Classes
- AtLeastOnceDeliveryLike → Eventsourced → Actor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
      
      
      INTERNAL API INTERNAL API - Attributes
- protected[akka]
- Definition Classes
- AtLeastOnceDeliveryLike → Eventsourced → Actor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        aroundPreStart(): Unit
      
      
      INTERNAL API. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        aroundReceive(receive: Receive, message: Any): Unit
      
      
      INTERNAL API INTERNAL API - receive
- current behavior. 
 - Attributes
- protected[akka]
- Definition Classes
- AtLeastOnceDeliveryLike → Eventsourced → Actor
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        asInstanceOf[T0]: T0
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        clone(): AnyRef
      
      
      - Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        confirmDelivery(deliveryId: Long): Boolean
      
      
      Call this method when a message has been confirmed by the destination, or to abort re-sending. Call this method when a message has been confirmed by the destination, or to abort re-sending. - returns
- truethe first time the- deliveryIdis confirmed, i.e.- falsefor duplicate confirm
 - Definition Classes
- AtLeastOnceDeliveryLike
- See also
- #deliver 
 
- 
      
      
      
        
      
    
      
        implicit 
        val
      
      
        context: ActorContext
      
      
      Scala API: Stores the context for this actor, including self, and sender. Scala API: Stores the context for this actor, including self, and sender. It is implicit to support operations such as forward.WARNING: Only valid within the Actor itself, so do not close over it and publish it to other threads! akka.actor.ActorContext is the Scala API. getContextreturns a akka.actor.AbstractActor.ActorContext, which is the Java API of the actor context.- Definition Classes
- Actor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        defer[A](event: A)(handler: Procedure[A]): Unit
      
      
      Defer the handler execution until all pending handlers have been executed. Defer the handler execution until all pending handlers have been executed. It is guaranteed that no new commands will be received by a persistent actor between a call to deferand the execution of itshandler. Allows to define logic within the actor, which will respect the invocation-order-guarantee in respect topersistAsyncorpersistcalls. That is, ifpersistAsyncorpersistwas invoked beforedefer, the corresponding handlers will be invoked in the same order as they were registered in.This call will NOT result in eventbeing persisted, usepersistorpersistAsyncinstead if the given event should possible to replay.If there are no pending persist handler calls, the handler will be called immediately. If persistence of an earlier event fails, the persistent actor will stop, and the handlerwill not be run.- event
- event to be handled in the future, when preceding persist operations have been processes 
- handler
- handler for the given - event
 - Definition Classes
- UntypedPersistentActor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        deferAsync[A](event: A)(handler: Procedure[A]): Unit
      
      
      Defer the handler execution until all pending handlers have been executed. Defer the handler execution until all pending handlers have been executed. Allows to define logic within the actor, which will respect the invocation-order-guarantee in respect to persistAsyncorpersistcalls. That is, ifpersistAsyncorpersistwas invoked beforedeferAsync, the corresponding handlers will be invoked in the same order as they were registered in.This call will NOT result in eventbeing persisted, please usepersistorpersistAsync, if the given event should possible to replay.If there are no pending persist handler calls, the handler will be called immediately. If persistence of an earlier event fails, the persistent actor will stop, and the handlerwill not be run.- event
- event to be handled in the future, when preceding persist operations have been processes 
- handler
- handler for the given - event
 - Definition Classes
- UntypedPersistentActor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        deleteMessages(toSequenceNr: Long): Unit
      
      
      Permanently deletes all persistent messages with sequence numbers less than or equal toSequenceNr.Permanently deletes all persistent messages with sequence numbers less than or equal toSequenceNr.If the delete is successful a DeleteMessagesSuccess will be sent to the actor. If the delete fails a DeleteMessagesFailure will be sent to the actor. The given toSequenceNrmust be less than or equal to Eventsourced#lastSequenceNr, otherwise DeleteMessagesFailure is sent to the actor without performing the delete. All persistent messages may be deleted without specifying the actual sequence number by usingLong.MaxValueas thetoSequenceNr.- toSequenceNr
- upper sequence number (inclusive) bound of persistent messages to be deleted. 
 - Definition Classes
- Eventsourced
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        deleteSnapshot(sequenceNr: Long): Unit
      
      
      Deletes the snapshot identified by sequenceNr.Deletes the snapshot identified by sequenceNr.The PersistentActor will be notified about the status of the deletion via an DeleteSnapshotSuccess or DeleteSnapshotFailure message. - Definition Classes
- Snapshotter
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        deleteSnapshots(criteria: SnapshotSelectionCriteria): Unit
      
      
      Deletes all snapshots matching criteria.Deletes all snapshots matching criteria.The PersistentActor will be notified about the status of the deletion via an DeleteSnapshotsSuccess or DeleteSnapshotsFailure message. - Definition Classes
- Snapshotter
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        deliver(destination: ActorSelection, deliveryIdToMessage: Function[Long, AnyRef]): Unit
      
      
      Java API: Send the message created by the deliveryIdToMessagefunction to thedestinationactor.Java API: Send the message created by the deliveryIdToMessagefunction to thedestinationactor. It will retry sending the message until the delivery is confirmed with #confirmDelivery. Correlation betweendeliverandconfirmDeliveryis performed with thedeliveryIdthat is provided as parameter to thedeliveryIdToMessagefunction. ThedeliveryIdis typically passed in the message to the destination, which replies with a message containing the samedeliveryId.The deliveryIdis a strictly monotonically increasing sequence number without gaps. The same sequence is used for all destinations, i.e. when sending to multiple destinations the destinations will see gaps in the sequence if no translation is performed.During recovery this method will not send out the message, but it will be sent later if no matching confirmDeliverywas performed.This method will throw AtLeastOnceDelivery.MaxUnconfirmedMessagesExceededException if #numberOfUnconfirmed is greater than or equal to #maxUnconfirmedMessages. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        deliver(destination: ActorPath, deliveryIdToMessage: Function[Long, AnyRef]): Unit
      
      
      Java API: Send the message created by the deliveryIdToMessagefunction to thedestinationactor.Java API: Send the message created by the deliveryIdToMessagefunction to thedestinationactor. It will retry sending the message until the delivery is confirmed with #confirmDelivery. Correlation betweendeliverandconfirmDeliveryis performed with thedeliveryIdthat is provided as parameter to thedeliveryIdToMessagefunction. ThedeliveryIdis typically passed in the message to the destination, which replies with a message containing the samedeliveryId.The deliveryIdis a strictly monotonically increasing sequence number without gaps. The same sequence is used for all destinations, i.e. when sending to multiple destinations the destinations will see gaps in the sequence if no translation is performed.During recovery this method will not send out the message, but it will be sent later if no matching confirmDeliverywas performed.This method will throw AtLeastOnceDelivery.MaxUnconfirmedMessagesExceededException if #numberOfUnconfirmed is greater than or equal to #maxUnconfirmedMessages. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        ensuring(cond: (UntypedPersistentActorWithAtLeastOnceDelivery) ⇒ Boolean, msg: ⇒ Any): UntypedPersistentActorWithAtLeastOnceDelivery
      
      
      - Implicit
- This member is added by an implicit conversion from UntypedPersistentActorWithAtLeastOnceDelivery to Ensuring[UntypedPersistentActorWithAtLeastOnceDelivery] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        ensuring(cond: (UntypedPersistentActorWithAtLeastOnceDelivery) ⇒ Boolean): UntypedPersistentActorWithAtLeastOnceDelivery
      
      
      - Implicit
- This member is added by an implicit conversion from UntypedPersistentActorWithAtLeastOnceDelivery to Ensuring[UntypedPersistentActorWithAtLeastOnceDelivery] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        ensuring(cond: Boolean, msg: ⇒ Any): UntypedPersistentActorWithAtLeastOnceDelivery
      
      
      - Implicit
- This member is added by an implicit conversion from UntypedPersistentActorWithAtLeastOnceDelivery to Ensuring[UntypedPersistentActorWithAtLeastOnceDelivery] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        ensuring(cond: Boolean): UntypedPersistentActorWithAtLeastOnceDelivery
      
      
      - Implicit
- This member is added by an implicit conversion from UntypedPersistentActorWithAtLeastOnceDelivery to Ensuring[UntypedPersistentActorWithAtLeastOnceDelivery] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        eq(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        equals(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        formatted(fmtstr: String): String
      
      
      - Implicit
- This member is added by an implicit conversion from UntypedPersistentActorWithAtLeastOnceDelivery to StringFormat[UntypedPersistentActorWithAtLeastOnceDelivery] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        getClass(): Class[_]
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getContext(): UntypedActorContext
      
      
      Returns this UntypedActor's UntypedActorContext The UntypedActorContext is not thread safe so do not expose it outside of the UntypedActor. Returns this UntypedActor's UntypedActorContext The UntypedActorContext is not thread safe so do not expose it outside of the UntypedActor. - Definition Classes
- UntypedActor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getDeliverySnapshot: AtLeastOnceDeliverySnapshot
      
      
      Full state of the AtLeastOnceDelivery.Full state of the AtLeastOnceDelivery. It can be saved with PersistentActor#saveSnapshot. During recovery the snapshot received in SnapshotOffer should be set with #setDeliverySnapshot.The AtLeastOnceDeliverySnapshotcontains the full delivery state, including unconfirmed messages. If you need a custom snapshot for other parts of the actor state you must also include theAtLeastOnceDeliverySnapshot. It is serialized using protobuf with the ordinary Akka serialization mechanism. It is easiest to include the bytes of theAtLeastOnceDeliverySnapshotas a blob in your custom snapshot.- Definition Classes
- AtLeastOnceDeliveryLike
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getSelf(): ActorRef
      
      
      Returns the ActorRef for this actor. Returns the ActorRef for this actor. - Definition Classes
- UntypedActor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getSender(): ActorRef
      
      
      The reference sender Actor of the currently processed message. The reference sender Actor of the currently processed message. This is always a legal destination to send to, even if there is no logical recipient for the reply, in which case it will be sent to the dead letter mailbox. - Definition Classes
- UntypedActor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        hashCode(): Int
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        internalStashOverflowStrategy: StashOverflowStrategy
      
      
      The returned StashOverflowStrategy object determines how to handle the message failed to stash when the internal Stash capacity exceeded. The returned StashOverflowStrategy object determines how to handle the message failed to stash when the internal Stash capacity exceeded. - Definition Classes
- PersistenceStash
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        isInstanceOf[T0]: Boolean
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        journalPluginId: String
      
      
      Configuration id of the journal plugin servicing this persistent actor. Configuration id of the journal plugin servicing this persistent actor. When empty, looks in akka.persistence.journal.pluginto find configuration entry path. When configured, usesjournalPluginIdas absolute path to the journal configuration entry. Configuration entry must contain few required fields, such asclass. Seesrc/main/resources/reference.conf.- Definition Classes
- PersistenceIdentity
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        lastSequenceNr: Long
      
      
      Highest received sequence number so far or 0Lif this actor hasn't replayed or stored any persistent events yet.Highest received sequence number so far or 0Lif this actor hasn't replayed or stored any persistent events yet.- Definition Classes
- Eventsourced
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        loadSnapshot(persistenceId: String, criteria: SnapshotSelectionCriteria, toSequenceNr: Long): Unit
      
      
      Instructs the snapshot store to load the specified snapshot and send it via an SnapshotOffer to the running PersistentActor. Instructs the snapshot store to load the specified snapshot and send it via an SnapshotOffer to the running PersistentActor. - Definition Classes
- Snapshotter
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        maxUnconfirmedMessages: Int
      
      
      Maximum number of unconfirmed messages that this actor is allowed to hold in memory. Maximum number of unconfirmed messages that this actor is allowed to hold in memory. If this number is exceed #deliver will not accept more messages and it will throw AtLeastOnceDelivery.MaxUnconfirmedMessagesExceededException. The default value can be configured with the akka.persistence.at-least-once-delivery.max-unconfirmed-messagesconfiguration key. This method can be overridden by implementation classes to return non-default values.- Definition Classes
- AtLeastOnceDeliveryLike
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ne(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notify(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notifyAll(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        numberOfUnconfirmed: Int
      
      
      Number of messages that have not been confirmed yet. Number of messages that have not been confirmed yet. - Definition Classes
- AtLeastOnceDeliveryLike
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        onPersistFailure(cause: Throwable, event: Any, seqNr: Long): Unit
      
      
      Called when persist fails. Called when persist fails. By default it logs the error. Subclass may override to customize logging and for example send negative acknowledgment to sender. The actor is always stopped after this method has been invoked. Note that the event may or may not have been saved, depending on the type of failure. - cause
- failure cause. 
- event
- the event that was to be persisted 
 - Attributes
- protected
- Definition Classes
- Eventsourced
- Annotations
- @InternalStableApi()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        onPersistRejected(cause: Throwable, event: Any, seqNr: Long): Unit
      
      
      Called when the journal rejected persistof an event.Called when the journal rejected persistof an event. The event was not stored. By default this method logs the problem as an error, and the actor continues. The callback handler that was passed to thepersistmethod will not be invoked.- cause
- failure cause 
- event
- the event that was to be persisted 
 - Attributes
- protected
- Definition Classes
- Eventsourced
- Annotations
- @InternalStableApi()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        onReceive(message: Any): Unit
      
      
      To be implemented by concrete UntypedActor, this defines the behavior of the UntypedActor. To be implemented by concrete UntypedActor, this defines the behavior of the UntypedActor. - Definition Classes
- UntypedPersistentActor → UntypedActor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        onRecoveryFailure(cause: Throwable, event: Option[Any]): Unit
      
      
      Called whenever a message replay fails. Called whenever a message replay fails. By default it logs the error. Subclass may override to customize logging. The actor is always stopped after this method has been invoked. - cause
- failure cause. 
- event
- the event that was processed in - receiveRecover, if the exception was thrown there
 - Attributes
- protected
- Definition Classes
- Eventsourced
- Annotations
- @InternalStableApi()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        persist[A](event: A, handler: Procedure[A]): Unit
      
      
      Java API: asynchronously persists event.Java API: asynchronously persists event. On successful persistence,handleris called with the persisted event. It is guaranteed that no new commands will be received by a persistent actor between a call topersistand the execution of itshandler. This also holds for multiplepersistcalls per received command. Internally, this is achieved by stashing new commands and unstashing them when theeventhas been persisted and handled. The stash used for that is an internal stash which doesn't interfere with the inherited user stash.An event handlermay close over persistent actor state and modify it. ThegetSender()of a persisted event is the sender of the corresponding command. This means that one can reply to a command sender within an eventhandler.Within an event handler, applications usually update persistent actor state using persisted event data, notify listeners and reply to command senders. If persistence of an event fails, #onPersistFailure will be invoked and the actor will unconditionally be stopped. The reason that it cannot resume when persist fails is that it is unknown if the event was actually persisted or not, and therefore it is in an inconsistent state. Restarting on persistent failures will most likely fail anyway, since the journal is probably unavailable. It is better to stop the actor and after a back-off timeout start it again. - event
- event to be persisted. 
- handler
- handler for each persisted - event
 - Definition Classes
- UntypedPersistentActor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        persistAll[A](events: Iterable[A], handler: Procedure[A]): Unit
      
      
      Java API: asynchronously persists eventsin specified order.Java API: asynchronously persists eventsin specified order. This is equivalent to callingpersist[A](event: A, handler: Procedure[A])multiple times with the samehandler, except thateventsare persisted atomically with this method.- events
- events to be persisted. 
- handler
- handler for each persisted - events
 - Definition Classes
- UntypedPersistentActor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        persistAllAsync[A](events: Iterable[A], handler: Procedure[A]): Unit
      
      
      JAVA API: asynchronously persists eventsin specified order.JAVA API: asynchronously persists eventsin specified order. This is equivalent to callingpersistAsync[A](event: A)(handler: A => Unit)multiple times with the samehandler, except thateventsare persisted atomically with this method.- events
- events to be persisted 
- handler
- handler for each persisted - events
 - Definition Classes
- UntypedPersistentActor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        persistAsync[A](event: A)(handler: Procedure[A]): Unit
      
      
      JAVA API: asynchronously persists event.JAVA API: asynchronously persists event. On successful persistence,handleris called with the persisted event.Unlike persistthe persistent actor will continue to receive incoming commands between the call topersistand executing it'shandler. This asynchronous, non-stashing, version of of persist should be used when you favor throughput over the "command-2 only processed after command-1 effects' have been applied" guarantee, which is provided by the plain #persist method.An event handlermay close over persistent actor state and modify it. Thesenderof a persisted event is the sender of the corresponding command. This means that one can reply to a command sender within an eventhandler.If persistence of an event fails, #onPersistFailure will be invoked and the actor will unconditionally be stopped. The reason that it cannot resume when persist fails is that it is unknown if the event was actually persisted or not, and therefore it is in an inconsistent state. Restarting on persistent failures will most likely fail anyway, since the journal is probably unavailable. It is better to stop the actor and after a back-off timeout start it again. - event
- event to be persisted 
- handler
- handler for each persisted - event
 - Definition Classes
- UntypedPersistentActor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        postRestart(reason: Throwable): Unit
      
      
      User overridable callback: By default it calls preStart().User overridable callback: By default it calls preStart().Is called right AFTER restart on the newly created Actor to allow reinitialization after an Actor crash. - reason
- the Throwable that caused the restart to happen Is called right AFTER restart on the newly created Actor to allow reinitialization after an Actor crash. 
 - Definition Classes
- UntypedActor → Actor
- Annotations
- @throws( classOf[Exception] )
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        postStop(): Unit
      
      
      Overridden callback. Overridden callback. Prepends all messages in the stash to the mailbox and clears the stash. Must be called when overriding this method, otherwise stashed messages won't be propagated to DeadLetters when actor stops. - Definition Classes
- UnrestrictedStash → Actor
- Annotations
- @throws( classOf[Exception] )
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        preRestart(reason: Throwable, message: Option[Any]): Unit
      
      
      Overridden callback. Overridden callback. Prepends all messages in the stash to the mailbox, clears the stash, stops all children and invokes the postStop() callback. - reason
- the Throwable that caused the restart to happen 
- message
- optionally the current message the actor processed when failing, if applicable Is called on a crashed Actor right BEFORE it is restarted to allow clean up of resources before Actor is terminated. 
 - Definition Classes
- UnrestrictedStash → Actor
- Annotations
- @throws( classOf[Exception] )
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        preStart(): Unit
      
      
      User overridable callback. User overridable callback. Is called when an Actor is started. Actor are automatically started asynchronously when created. Empty default implementation. - Definition Classes
- UntypedActor → Actor
- Annotations
- @throws( classOf[Exception] )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        receive: PartialFunction[Any, Unit]
      
      
      Scala API: This defines the initial actor behavior, it must return a partial function with the actor logic. Scala API: This defines the initial actor behavior, it must return a partial function with the actor logic. - Definition Classes
- UntypedActor → Actor
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        receiveCommand: Receive
      
      
      Command handler. Command handler. Typically validates commands against current state (and/or by communication with other actors). On successful validation, one or more events are derived from a command and these events are then persisted by calling persist.- Definition Classes
- UntypedPersistentActor → Eventsourced
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        receiveRecover: Receive
      
      
      Recovery handler that receives persisted events during recovery. Recovery handler that receives persisted events during recovery. If a state snapshot has been captured and saved, this handler will receive a SnapshotOffer message followed by events that are younger than the offered snapshot. This handler must not have side-effects other than changing persistent actor state i.e. it should not perform actions that may fail, such as interacting with external services, for example. If there is a problem with recovering the state of the actor from the journal, the error will be logged and the actor will be stopped. - Definition Classes
- UntypedPersistentActor → Eventsourced
- See also
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        recovery: Recovery
      
      
      Called when the persistent actor is started for the first time. Called when the persistent actor is started for the first time. The returned Recovery object defines how the Actor will recover its persistent state before handling the first incoming message. To skip recovery completely return Recovery.none.- Definition Classes
- PersistenceRecovery
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        recoveryFinished: Boolean
      
      
      Returns trueif this persistent actor has successfully finished recovery.Returns trueif this persistent actor has successfully finished recovery.- Definition Classes
- Eventsourced
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        recoveryRunning: Boolean
      
      
      Returns trueif this persistent actor is currently recovering.Returns trueif this persistent actor is currently recovering.- Definition Classes
- Eventsourced
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        redeliverInterval: FiniteDuration
      
      
      Interval between redelivery attempts. Interval between redelivery attempts. The default value can be configured with the akka.persistence.at-least-once-delivery.redeliver-intervalconfiguration key. This method can be overridden by implementation classes to return non-default values.- Definition Classes
- AtLeastOnceDeliveryLike
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        redeliveryBurstLimit: Int
      
      
      Maximum number of unconfirmed messages that will be sent at each redelivery burst (burst frequency is half of the redelivery interval). Maximum number of unconfirmed messages that will be sent at each redelivery burst (burst frequency is half of the redelivery interval). If there's a lot of unconfirmed messages (e.g. if the destination is not available for a long time), this helps to prevent an overwhelming amount of messages to be sent at once. The default value can be configured with the akka.persistence.at-least-once-delivery.redelivery-burst-limitconfiguration key. This method can be overridden by implementation classes to return non-default values.- Definition Classes
- AtLeastOnceDeliveryLike
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        saveSnapshot(snapshot: Any): Unit
      
      
      Saves a snapshotof this snapshotter's state.Saves a snapshotof this snapshotter's state.The PersistentActor will be notified about the success or failure of this via an SaveSnapshotSuccess or SaveSnapshotFailure message. - Definition Classes
- Snapshotter
 
- 
      
      
      
        
      
    
      
        implicit final 
        val
      
      
        self: ActorRef
      
      
      The 'self' field holds the ActorRef for this actor. The 'self' field holds the ActorRef for this actor. Can be used to send messages to itself: self ! message - Definition Classes
- Actor
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        sender(): ActorRef
      
      
      The reference sender Actor of the last received message. The reference sender Actor of the last received message. Is defined if the message was sent from another Actor, else deadLettersin akka.actor.ActorSystem.WARNING: Only valid within the Actor itself, so do not close over it and publish it to other threads! - Definition Classes
- Actor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        setDeliverySnapshot(snapshot: AtLeastOnceDeliverySnapshot): Unit
      
      
      If snapshot from #getDeliverySnapshot was saved it will be received during recovery in a SnapshotOffer message and should be set with this method. If snapshot from #getDeliverySnapshot was saved it will be received during recovery in a SnapshotOffer message and should be set with this method. - Definition Classes
- AtLeastOnceDeliveryLike
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        snapshotPluginId: String
      
      
      Configuration id of the snapshot plugin servicing this persistent actor. Configuration id of the snapshot plugin servicing this persistent actor. When empty, looks in akka.persistence.snapshot-store.pluginto find configuration entry path. When configured, usessnapshotPluginIdas absolute path to the snapshot store configuration entry. Configuration entry must contain few required fields, such asclass. Seesrc/main/resources/reference.conf.- Definition Classes
- PersistenceIdentity
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        snapshotSequenceNr: Long
      
      
      Returns lastSequenceNr.Returns lastSequenceNr.- Definition Classes
- Eventsourced → Snapshotter
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        snapshotterId: String
      
      
      Returns persistenceId.Returns persistenceId.- Definition Classes
- Eventsourced → Snapshotter
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        stash(): Unit
      
      
      Adds the current message (the message that the actor received last) to the actor's stash. Adds the current message (the message that the actor received last) to the actor's stash. - Definition Classes
- Eventsourced → StashSupport
- Exceptions thrown
- IllegalStateExceptionif the same message is stashed more than once- StashOverflowExceptionin case of a stash capacity violation
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        supervisorStrategy: SupervisorStrategy
      
      
      User overridable definition the strategy to use for supervising child actors. User overridable definition the strategy to use for supervising child actors. - Definition Classes
- UntypedActor → Actor
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        synchronized[T0](arg0: ⇒ T0): T0
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toString(): String
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        unhandled(message: Any): Unit
      
      
      User overridable callback. User overridable callback. Is called when a message isn't handled by the current behavior of the actor by default it fails with either a akka.actor.DeathPactException (in case of an unhandled akka.actor.Terminated message) or publishes an akka.actor.UnhandledMessage to the actor's system's akka.event.EventStream - Definition Classes
- Eventsourced → Actor
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        unstashAll(): Unit
      
      
      Prepends all messages in the stash to the mailbox, and then clears the stash. Prepends all messages in the stash to the mailbox, and then clears the stash. Messages from the stash are enqueued to the mailbox until the capacity of the mailbox (if any) has been reached. In case a bounded mailbox overflows, a MessageQueueAppendFailedExceptionis thrown.The stash is guaranteed to be empty after calling unstashAll().- Definition Classes
- Eventsourced → StashSupport
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long, arg1: Int): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        warnAfterNumberOfUnconfirmedAttempts: Int
      
      
      After this number of delivery attempts an AtLeastOnceDelivery.UnconfirmedWarning message will be sent to self.After this number of delivery attempts an AtLeastOnceDelivery.UnconfirmedWarning message will be sent to self. The count is reset after a restart.The default value can be configured with the akka.persistence.at-least-once-delivery.warn-after-number-of-unconfirmed-attemptsconfiguration key. This method can be overridden by implementation classes to return non-default values.- Definition Classes
- AtLeastOnceDeliveryLike
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        →[B](y: B): (UntypedPersistentActorWithAtLeastOnceDelivery, B)
      
      
      - Implicit
- This member is added by an implicit conversion from UntypedPersistentActorWithAtLeastOnceDelivery to ArrowAssoc[UntypedPersistentActorWithAtLeastOnceDelivery] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc