AbstractActor

abstract class AbstractActor extends Actor

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();
  }
}
Companion:
object
Source:
AbstractActor.scala
trait Actor
class Object
trait Matchable
class Any

Type members

Inherited types

Inherited from:
Actor
Source:
Actor.scala

Value members

Abstract methods

An actor has to define its initial receive behavior by implementing the createReceive method.

An actor has to define its initial receive behavior by implementing the createReceive method.

Source:
AbstractActor.scala

Concrete methods

Returns this AbstractActor's ActorContext The ActorContext is not thread safe so do not expose it outside of the AbstractActor.

Returns this AbstractActor's ActorContext The ActorContext is not thread safe so do not expose it outside of the AbstractActor.

Source:
AbstractActor.scala

Returns the ActorRef for this actor.

Returns the ActorRef for this actor.

Same as self().

Source:
AbstractActor.scala

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.

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!

Source:
AbstractActor.scala
@throws(scala.Predef.classOf[scala.Exception])
override def postRestart(reason: Throwable): Unit

User overridable callback: By default it calls preStart().

User overridable callback: By default it calls preStart().

Is called right AFTER restart on the newly created Actor to allow reinitialization after an Actor crash.

Definition Classes
Source:
AbstractActor.scala
@throws(scala.Predef.classOf[scala.Exception])
override def postStop(): Unit

User overridable callback.

User overridable callback.

Is called asynchronously after getContext().stop() is invoked. Empty default implementation.

Definition Classes
Source:
AbstractActor.scala
@throws(scala.Predef.classOf[scala.Exception])
def preRestart(reason: Throwable, message: Optional[Any]): Unit

User overridable callback: '''By default it disposes of all children and then calls postStop().'''

User overridable callback: '''By default it disposes of all children and then calls postStop().'''

Is called on a crashed Actor right BEFORE it is restarted to allow clean up of resources before Actor is terminated.

Source:
AbstractActor.scala
@throws(scala.Predef.classOf[scala.Exception])
override def preStart(): Unit

User overridable callback.

User overridable callback.

Is called when an Actor is started. Actor are automatically started asynchronously when created. Empty default implementation.

Definition Classes
Source:
AbstractActor.scala
override def receive: PartialFunction[Any, Unit]
Definition Classes
Source:
AbstractActor.scala
final def receiveBuilder(): ReceiveBuilder

Convenience factory of the ReceiveBuilder. Creates a new empty ReceiveBuilder.

Convenience factory of the ReceiveBuilder. Creates a new empty ReceiveBuilder.

Source:
AbstractActor.scala

User overridable definition the strategy to use for supervising child actors.

User overridable definition the strategy to use for supervising child actors.

Definition Classes
Source:
AbstractActor.scala

Deprecated methods

@deprecated("Override preRestart with message parameter with Optional type instead", "2.5.0") @throws(scala.Predef.classOf[scala.Exception]) @nowarn("msg=deprecated")
override def preRestart(reason: Throwable, message: Option[Any]): Unit
Deprecated
Definition Classes
Source:
AbstractActor.scala

Inherited methods

final def sender(): ActorRef

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.

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!

Inherited from:
Actor
Source:
Actor.scala
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

Inherited from:
Actor
Source:
Actor.scala

Implicits

Inherited implicits

implicit val context: ActorContext

Scala API: Stores the context for this actor, including self, and sender. It is implicit to support operations such as forward.

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.

Inherited from:
Actor
Source:
Actor.scala
final implicit 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
Inherited from:
Actor
Source:
Actor.scala