Package org.apache.pekko.actor
Class AbstractActor
java.lang.Object
org.apache.pekko.actor.AbstractActor
- All Implemented Interfaces:
Actor
- Direct Known Subclasses:
AbstractActorWithStash
,AbstractActorWithTimers
,AbstractActorWithUnboundedStash
,AbstractActorWithUnrestrictedStash
,AbstractLoggingActor
,AbstractPersistentActor
,AbstractPersistentActorWithTimers
,UntypedAbstractActor
Java API: compatible with lambda expressions
Actor 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 ClassesModifier and TypeClassDescriptionstatic interface
The actor context - the view of the actor cell from the actor.static final class
Defines which messages the Actor can handle, along with the implementation of how the messages should be processed.Nested classes/interfaces inherited from interface org.apache.pekko.actor.Actor
Actor.emptyBehavior$, Actor.ignoringBehavior$
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncontext()
Scala API: Stores the context for this actor, including self, and sender.abstract AbstractActor.Receive
An actor has to define its initial receive behavior by implementing thecreateReceive
method.static final AbstractActor.Receive
emptyBehavior is a Receive-expression that matches no messages at all, ever.Returns this AbstractActor's ActorContext The ActorContext is not thread safe so do not expose it outside of the AbstractActor.getSelf()
Returns the ActorRef for this actor.The reference sender Actor of the currently processed message.protected void
Scala API: Stores the context for this actor, including self, and sender.protected final void
The 'self' field holds the ActorRef for this actor.void
postRestart
(Throwable reason) User overridable callback: By default it callspreStart()
.void
postStop()
User overridable callback.void
preRestart
(Throwable reason, Optional<Object> message) User overridable callback: '''By default it disposes of all children and then callspostStop()
.'''void
preRestart
(Throwable reason, scala.Option<Object> message) Deprecated.Override preRestart with message parameter with Optional type instead.void
preStart()
User overridable callback.scala.PartialFunction<Object,
scala.runtime.BoxedUnit> receive()
Scala API: This defines the initial actor behavior, it must return a partial function with the actor logic.final ReceiveBuilder
Convenience factory of theReceiveBuilder
.final ActorRef
self()
The 'self' field holds the ActorRef for this actor.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 org.apache.pekko.actor.Actor
aroundPostRestart, aroundPostStop, aroundPreRestart, aroundPreStart, aroundReceive, sender, unhandled
-
Constructor Details
-
AbstractActor
public AbstractActor()
-
-
Method Details
-
emptyBehavior
emptyBehavior is a Receive-expression that matches no messages at all, ever. -
context
Description copied from interface:Actor
Scala 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!
pekko.actor.ActorContext
is the Scala API.getContext
returns apekko.actor.AbstractActor.ActorContext
, which is the Java API of the actor context. -
self
Description copied from interface:Actor
The 'self' field holds the ActorRef for this actor. Can be used to send messages to itself:self ! message
-
org$apache$pekko$actor$Actor$_setter_$context_$eq
Description copied from interface:Actor
Scala 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!
pekko.actor.ActorContext
is the Scala API.getContext
returns apekko.actor.AbstractActor.ActorContext
, which is the Java API of the actor context.- Specified by:
org$apache$pekko$actor$Actor$_setter_$context_$eq
in interfaceActor
-
org$apache$pekko$actor$Actor$_setter_$self_$eq
Description copied from interface:Actor
The 'self' field holds the ActorRef for this actor. Can be used to send messages to itself:self ! message
- Specified by:
org$apache$pekko$actor$Actor$_setter_$self_$eq
in interfaceActor
-
getContext
Returns this AbstractActor's ActorContext The ActorContext is not thread safe so do not expose it outside of the AbstractActor. -
getSelf
Returns the ActorRef for this actor.Same as
self()
. -
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
User overridable definition the strategy to use for supervising child actors.- Specified by:
supervisorStrategy
in interfaceActor
-
preStart
User overridable callback. Is called when an Actor is started. Actor are automatically started asynchronously when created. Empty default implementation. -
postStop
User overridable callback. Is called asynchronously aftergetContext().stop()
is invoked. Empty default implementation. -
preRestart
Deprecated.Override preRestart with message parameter with Optional type instead. Since Akka 2.5.0.Description copied from interface:Actor
Scala API: User overridable callback: '''By default it disposes of all children and then callspostStop()
.'''- Specified by:
preRestart
in 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:
Exception
-
preRestart
User 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:
Exception
-
postRestart
User 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:
postRestart
in 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:
Exception
-
createReceive
An actor has to define its initial receive behavior by implementing thecreateReceive
method. -
receive
Description copied from interface:Actor
Scala API: This defines the initial actor behavior, it must return a partial function with the actor logic. -
receiveBuilder
Convenience factory of theReceiveBuilder
. Creates a new emptyReceiveBuilder
.
-