Package akka.actor
Class AbstractActor
- java.lang.Object
-
- akka.actor.AbstractActor
-
- All Implemented Interfaces:
Actor
- Direct Known Subclasses:
AbstractActorWithStash,AbstractActorWithTimers,AbstractActorWithUnboundedStash,AbstractActorWithUnrestrictedStash,AbstractLoggingActor,AbstractPersistentActor,AbstractPersistentActorWithTimers,UntypedAbstractActor
public abstract class AbstractActor extends java.lang.Object implements Actor
Java API: compatible with lambda expressionsActor base class that should be extended to create Java actors that use lambdas.
Example:public class MyActorForJavaDoc extends AbstractActor{ @Override public Receive createReceive() { return receiveBuilder() .match(Double.class, d -> { sender().tell(d.isNaN() ? 0 : d, self()); }) .match(Integer.class, i -> { sender().tell(i * 10, self()); }) .match(String.class, s -> s.startsWith("foo"), s -> { sender().tell(s.toUpperCase(), self()); }) .build(); } }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceAbstractActor.ActorContextThe actor context - the view of the actor cell from the actor.static classAbstractActor.ReceiveDefines which messages the Actor can handle, along with the implementation of how the messages should be processed.-
Nested classes/interfaces inherited from interface akka.actor.Actor
Actor.emptyBehavior$, Actor.ignoringBehavior$
-
-
Constructor Summary
Constructors Constructor Description AbstractActor()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected voidakka$actor$Actor$_setter_$context_$eq(ActorContext x$1)Scala API: Stores the context for this actor, including self, and sender.protected voidakka$actor$Actor$_setter_$self_$eq(ActorRef x$1)The 'self' field holds the ActorRef for this actor.ActorContextcontext()Scala API: Stores the context for this actor, including self, and sender.abstract AbstractActor.ReceivecreateReceive()An actor has to define its initial receive behavior by implementing thecreateReceivemethod.static AbstractActor.ReceiveemptyBehavior()emptyBehavior is a Receive-expression that matches no messages at all, ever.AbstractActor.ActorContextgetContext()Returns this AbstractActor's ActorContext The ActorContext is not thread safe so do not expose it outside of the AbstractActor.ActorRefgetSelf()Returns the ActorRef for this actor.ActorRefgetSender()The reference sender Actor of the currently processed message.voidpostRestart(java.lang.Throwable reason)User overridable callback: By default it callspreStart().voidpostStop()User overridable callback.voidpreRestart(java.lang.Throwable reason, java.util.Optional<java.lang.Object> message)User overridable callback: '''By default it disposes of all children and then callspostStop().'''voidpreRestart(java.lang.Throwable reason, scala.Option<java.lang.Object> message)Deprecated.Override preRestart with message parameter with Optional type instead.voidpreStart()User overridable callback.scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit>receive()Scala API: This defines the initial actor behavior, it must return a partial function with the actor logic.ReceiveBuilderreceiveBuilder()Convenience factory of theReceiveBuilder.ActorRefself()The 'self' field holds the ActorRef for this actor.SupervisorStrategysupervisorStrategy()User overridable definition the strategy to use for supervising child actors.-
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
aroundPostRestart, aroundPostStop, aroundPreRestart, aroundPreStart, aroundReceive, sender, unhandled
-
-
-
-
Method Detail
-
emptyBehavior
public static final AbstractActor.Receive emptyBehavior()
emptyBehavior is a Receive-expression that matches no messages at all, ever.
-
context
public ActorContext context()
Description copied from interface:ActorScala API: Stores the context for this actor, including self, and sender. It is implicit to support operations such asforward.WARNING: Only valid within the Actor itself, so do not close over it and publish it to other threads!
ActorContextis the Scala API.getContextreturns aAbstractActor.ActorContext, which is the Java API of the actor context.
-
self
public final ActorRef self()
Description copied from interface:ActorThe 'self' field holds the ActorRef for this actor. Can be used to send messages to itself:self ! message
-
akka$actor$Actor$_setter_$context_$eq
protected void akka$actor$Actor$_setter_$context_$eq(ActorContext x$1)
Description copied from interface:ActorScala API: Stores the context for this actor, including self, and sender. It is implicit to support operations such asforward.WARNING: Only valid within the Actor itself, so do not close over it and publish it to other threads!
ActorContextis the Scala API.getContextreturns aAbstractActor.ActorContext, which is the Java API of the actor context.- Specified by:
akka$actor$Actor$_setter_$context_$eqin interfaceActor
-
akka$actor$Actor$_setter_$self_$eq
protected final void akka$actor$Actor$_setter_$self_$eq(ActorRef x$1)
Description copied from interface:ActorThe 'self' field holds the ActorRef for this actor. Can be used to send messages to itself:self ! message
- Specified by:
akka$actor$Actor$_setter_$self_$eqin interfaceActor
-
getContext
public AbstractActor.ActorContext getContext()
Returns this AbstractActor's ActorContext The ActorContext is not thread safe so do not expose it outside of the AbstractActor.
-
getSelf
public ActorRef getSelf()
Returns the ActorRef for this actor.Same as
self().
-
getSender
public ActorRef getSender()
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.Same as
sender().WARNING: Only valid within the Actor itself, so do not close over it and publish it to other threads!
-
supervisorStrategy
public SupervisorStrategy supervisorStrategy()
User overridable definition the strategy to use for supervising child actors.- Specified by:
supervisorStrategyin interfaceActor
-
preStart
public void preStart() throws java.lang.ExceptionUser overridable callback. Is called when an Actor is started. Actor are automatically started asynchronously when created. Empty default implementation.
-
postStop
public void postStop() throws java.lang.ExceptionUser overridable callback. Is called asynchronously aftergetContext().stop()is invoked. Empty default implementation.
-
preRestart
public void preRestart(java.lang.Throwable reason, scala.Option<java.lang.Object> message) throws java.lang.ExceptionDeprecated.Override preRestart with message parameter with Optional type instead. Since 2.5.0.Description copied from interface:ActorScala API: User overridable callback: '''By default it disposes of all children and then callspostStop().'''- Specified by:
preRestartin interfaceActor- Parameters:
reason- the Throwable that caused the restart to happenmessage- 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.- Throws:
java.lang.Exception
-
preRestart
public void preRestart(java.lang.Throwable reason, java.util.Optional<java.lang.Object> message) throws java.lang.ExceptionUser overridable callback: '''By default it disposes of all children and then callspostStop().''' Is called on a crashed Actor right BEFORE it is restarted to allow clean up of resources before Actor is terminated.- Throws:
java.lang.Exception
-
postRestart
public void postRestart(java.lang.Throwable reason) throws java.lang.ExceptionUser overridable callback: By default it callspreStart(). Is called right AFTER restart on the newly created Actor to allow reinitialization after an Actor crash.- Specified by:
postRestartin interfaceActor- Parameters:
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.- Throws:
java.lang.Exception
-
createReceive
public abstract AbstractActor.Receive createReceive()
An actor has to define its initial receive behavior by implementing thecreateReceivemethod.
-
receive
public scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit> receive()
Description copied from interface:ActorScala API: This defines the initial actor behavior, it must return a partial function with the actor logic.
-
receiveBuilder
public final ReceiveBuilder receiveBuilder()
Convenience factory of theReceiveBuilder. Creates a new emptyReceiveBuilder.
-
-