Returns the path for this actor (from this actor up to the root actor).
Is the actor shut down? The contract is that if this method returns true, then it will never be false again.
Is the actor shut down? The contract is that if this method returns true, then it will never be false again. But you cannot rely on that it is alive if it returns false, since this by nature is a racy method.
(Since version 2.2) Use context.watch(actor) and receive Terminated(actor)
Sends a one-way asynchronous message.
Sends a one-way asynchronous message. E.g. fire-and-forget semantics.
If invoked from within an actor then the actor reference is implicitly passed on as the implicit 'sender' argument.
This actor 'sender' reference is then available in the receiving actor in the 'sender()' member variable, if invoked from within an Actor. If not then no sender is available.
actor ! message
Comparison takes path and the unique id of the actor cell into account.
Comparison takes path and the unique id of the actor cell into account.
Equals takes path and the unique id of the actor cell into account.
Equals takes path and the unique id of the actor cell into account.
Forwards the message and passes the original sender actor as the sender.
Forwards the message and passes the original sender actor as the sender.
Works, no matter whether originally sent with tell/'!' or ask/'?'.
Sends the specified message to the sender, i.e.
Sends the specified message to the sender, i.e. fire-and-forget semantics, including the sender reference if possible.
Pass akka.actor.ActorRef$.noSender or null
as sender if there is nobody to reply to
Immutable and serializable handle to an actor, which may or may not reside on the local host or inside the same akka.actor.ActorSystem. An ActorRef can be obtained from an akka.actor.ActorRefFactory, an interface which is implemented by ActorSystem and akka.actor.ActorContext. This means actors can be created top-level in the ActorSystem or as children of an existing actor, but only from within that actor.
ActorRefs can be freely shared among actors by message passing. Message passing conversely is their only purpose, as demonstrated in the following examples:
Scala:
Java:
ActorRef does not have a method for terminating the actor it points to, use akka.actor.ActorRefFactory
.stop(ref)
, or send a akka.actor.PoisonPill, for this purpose.Two actor references are compared equal when they have the same path and point to the same actor incarnation. A reference pointing to a terminated actor doesn't compare equal to a reference pointing to another (re-created) actor with the same path. Actor references acquired with
actorFor
do not always include the full information about the underlying actor identity and therefore such references do not always compare equal to references acquired withactorOf
,sender
, orcontext.self
.If you need to keep track of actor references in a collection and do not care about the exact actor incarnation you can use the
as key because the unique id of the actor is not taken into account when comparing actor paths.ActorPath