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 interfaceThe actor context - the view of the actor cell from the actor.static final classDefines 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.ReceiveAn actor has to define its initial receive behavior by implementing thecreateReceivemethod.static final AbstractActor.ReceiveemptyBehavior 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 voidScala API: Stores the context for this actor, including self, and sender.protected final voidThe 'self' field holds the ActorRef for this actor.voidpostRestart(Throwable reason) User overridable callback: By default it callspreStart().voidpostStop()User overridable callback.voidpreRestart(Throwable reason, Optional<Object> message) User overridable callback: '''By default it disposes of all children and then callspostStop().'''voidpreRestart(Throwable reason, scala.Option<Object> message) Deprecated.Override preRestart with message parameter with Optional type instead.voidpreStart()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 ReceiveBuilderConvenience factory of theReceiveBuilder.final ActorRefself()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, waitMethods 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: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!
pekko.actor.ActorContextis the Scala API.getContextreturns apekko.actor.AbstractActor.ActorContext, which is the Java API of the actor context. -
self
Description copied from interface:ActorThe '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: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!
pekko.actor.ActorContextis the Scala API.getContextreturns apekko.actor.AbstractActor.ActorContext, which is the Java API of the actor context.- Specified by:
org$apache$pekko$actor$Actor$_setter_$context_$eqin interfaceActor
-
org$apache$pekko$actor$Actor$_setter_$self_$eq
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:
org$apache$pekko$actor$Actor$_setter_$self_$eqin 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:
supervisorStrategyin 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: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:
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:
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:
Exception
-
createReceive
An actor has to define its initial receive behavior by implementing thecreateReceivemethod. -
receive
Description copied from interface:ActorScala 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.
-