Package akka.actor
Class UntypedActorWithStash
- java.lang.Object
-
- akka.actor.UntypedActor
-
- akka.actor.UntypedActorWithStash
-
- All Implemented Interfaces:
Actor
,Stash
,StashSupport
,UnrestrictedStash
,RequiresMessageQueue<DequeBasedMessageQueueSemantics>
public abstract class UntypedActorWithStash extends UntypedActor implements Stash
Deprecated.Use AbstractActorWithStash instead of UntypedActorWithStash. Since 2.5.0.Actor base class that should be extended to create an actor with a stash.The stash enables an actor to temporarily stash away messages that can not or should not be handled using the actor's current behavior.
Example:public class MyActorWithStash extends UntypedActorWithStash { int count = 0; public void onReceive(Object msg) { if (msg instanceof String) { if (count < 0) { getSender().tell(new Integer(((String) msg).length()), getSelf()); } else if (count == 2) { count = -1; unstashAll(); } else { count += 1; stash(); } } } }
Note that the subclasses ofUntypedActorWithStash
by default request a Deque based mailbox since this class implements theRequiresMessageQueue<DequeBasedMessageQueueSemantics>
marker interface. You can override the default mailbox provided whenDequeBasedMessageQueueSemantics
are requested via config:akka.actor.mailbox.requirements { "akka.dispatch.BoundedDequeBasedMessageQueueSemantics" = your-custom-mailbox }
Alternatively, you can add your own requirement marker to the actor and configure a mailbox type to be used for your marker.For a
Stash
based actor that enforces unbounded deques seeUntypedActorWithUnboundedStash
. There is also an unrestricted versionUntypedActorWithUnrestrictedStash
that does not enforce the mailbox type.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface akka.actor.Actor
Actor.emptyBehavior$, Actor.ignoringBehavior$
-
-
Constructor Summary
Constructors Constructor Description UntypedActorWithStash()
Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
akka$actor$StashSupport$_setter_$mailbox_$eq(DequeBasedMessageQueueSemantics x$1)
Deprecated.DequeBasedMessageQueueSemantics
mailbox()
Deprecated.-
Methods inherited from class akka.actor.UntypedActor
akka$actor$Actor$_setter_$context_$eq, akka$actor$Actor$_setter_$self_$eq, context, getContext, getSelf, getSender, onReceive, postRestart, postStop, preRestart, preStart, receive, self, supervisorStrategy, unhandled
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface akka.actor.Actor
akka$actor$Actor$_setter_$context_$eq, akka$actor$Actor$_setter_$self_$eq, aroundPostRestart, aroundPostStop, aroundPreRestart, aroundPreStart, aroundReceive, context, postRestart, preStart, receive, self, sender, supervisorStrategy, unhandled
-
Methods inherited from interface akka.actor.StashSupport
actorCell, clearStash, context, enqueueFirst, prepend, self, stash, theStash_$eq, unstash, unstashAll, unstashAll
-
Methods inherited from interface akka.actor.UnrestrictedStash
postStop, preRestart, super$postStop, super$preRestart
-
-
-
-
Method Detail
-
akka$actor$StashSupport$_setter_$mailbox_$eq
protected void akka$actor$StashSupport$_setter_$mailbox_$eq(DequeBasedMessageQueueSemantics x$1)
Deprecated.- Specified by:
akka$actor$StashSupport$_setter_$mailbox_$eq
in interfaceStashSupport
-
mailbox
public DequeBasedMessageQueueSemantics mailbox()
Deprecated.- Specified by:
mailbox
in interfaceStashSupport
-
-