trait ActWithStash extends ActorDSL.Act with Stash
Use this trait when defining an akka.actor.Actor with akka.actor.Stash,
since just using actor()(new Act with Stash{})
will not be able to see the
Stash component due to type erasure.
- Source
- Creators.scala
- Alphabetic
- By Inheritance
- ActWithStash
- Stash
- RequiresMessageQueue
- UnrestrictedStash
- StashSupport
- Act
- Actor
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Type Members
-
type
Receive = PartialFunction[Any, Unit]
- Definition Classes
- Actor
Value Members
-
def
AllForOneStrategy: actor.AllForOneStrategy.type
- Definition Classes
- Act
- See also
-
def
Escalate: SupervisorStrategy.Escalate.type
- Definition Classes
- Act
- See also
-
def
OneForOneStrategy: actor.OneForOneStrategy.type
- Definition Classes
- Act
- See also
-
def
Restart: SupervisorStrategy.Restart.type
- Definition Classes
- Act
- See also
-
def
Resume: SupervisorStrategy.Resume.type
- Definition Classes
- Act
- See also
-
def
Stop: SupervisorStrategy.Stop.type
- Definition Classes
- Act
- See also
-
def
become(r: Receive): Unit
Replace the behavior at the top of the behavior stack for this actor.
Replace the behavior at the top of the behavior stack for this actor. The stack is cleared upon restart. Use
unbecome()
to pop an element off this stack orbecomeStacked()
to push a new element on top of it.- Definition Classes
- Act
-
def
becomeStacked(r: Receive): Unit
Add the given behavior on top of the behavior stack for this actor.
Add the given behavior on top of the behavior stack for this actor. This stack is cleared upon restart. Use
unbecome()
to pop an element off this stack.- Definition Classes
- Act
-
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.
getContext
returns a akka.actor.AbstractActor.ActorContext, which is the Java API of the actor context.- Definition Classes
- Actor
-
def
postRestart(cause: Throwable): Unit
User overridable callback: By default it calls
preStart()
. -
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.
-
def
receive: Receive
Default behavior of the actor is empty, use
become
to change this. -
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
deadLetters
in 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
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
- StashSupport
- Exceptions thrown
IllegalStateException
if the same message is stashed more than onceStashOverflowException
in case of a stash capacity violation
-
def
superviseWith(s: SupervisorStrategy): Unit
Set the supervisor strategy of this actor, i.e.
Set the supervisor strategy of this actor, i.e. how it supervises its children.
- Definition Classes
- Act
-
def
supervisorStrategy: SupervisorStrategy
User overridable definition the strategy to use for supervising child actors.
-
def
unbecome(): Unit
Pop the active behavior from the behavior stack of this actor.
Pop the active behavior from the behavior stack of this actor. This stack is cleared upon restart.
- Definition Classes
- Act
-
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
- 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
MessageQueueAppendFailedException
is thrown.The stash is guaranteed to be empty after calling
unstashAll()
.- Definition Classes
- StashSupport
-
def
whenFailing(body: (Throwable, Option[Any]) ⇒ Unit): Unit
Replace the
preRestart
action with the supplied function.Replace the
preRestart
action with the supplied function. Default action is to callsuper.preRestart()
, which will kill all children and invokepostStop()
.- Definition Classes
- Act
-
def
whenRestarted(body: (Throwable) ⇒ Unit): Unit
Replace the
postRestart
action with the supplied function.Replace the
postRestart
action with the supplied function. Default action is to callsuper.postRestart
which will callpreStart()
.- Definition Classes
- Act
-
def
whenStarting(body: ⇒ Unit): Unit
Replace the
preStart
action with the supplied thunk.Replace the
preStart
action with the supplied thunk. Default action is to callsuper.preStart()
- Definition Classes
- Act
-
def
whenStopping(body: ⇒ Unit): Unit
Replace the
postStop
action with the supplied thunk.Replace the
postStop
action with the supplied thunk. Default action is to callsuper.postStop
.- Definition Classes
- Act