akka.actor

Actor

trait Actor extends AnyRef

Actor base trait that should be extended by or mixed to create an Actor with the semantics of the 'Actor Model': http://en.wikipedia.org/wiki/Actor_model

An actor has a well-defined (non-cyclic) life-cycle.

=> NEW (newly created actor) - can't receive messages (yet)
    => STARTED (when 'start' is invoked) - can receive messages
        => SHUT DOWN (when 'exit' is invoked) - can't do anything

The Actor's API is available in the 'self' member variable.

Here you find functions like:

Here you also find fields like

This means that to use them you have to prefix them with 'self', like this: self ! Message

However, for convenience you can import these functions and fields like below, which will allow you do drop the 'self' prefix:

class MyActor extends Actor  {
  import self._
  id = ...
  dispatcher = ...
  spawnLink[OtherActor]
  ...
}

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Actor
  2. AnyRef
  3. Any
Visibility
  1. Public
  2. All

Type Members

  1. type Receive = PartialFunction[Any, Unit]

    Type alias because traits cannot have companion objects.

Abstract Value Members

  1. def receive : Receive

    User overridable callback/setting.

    User overridable callback/setting.

    Partial function implementing the actor logic. To be implemented by concrete actor class.

    Example code:

      def receive = {
        case Ping =>
          println("got a 'Ping' message")
          self.reply("pong")
    
        case OneWay =>
          println("got a 'OneWay' message")
    
        case unknown =>
          println("unknown message: " + unknown)
    }
    

    Attributes
    protected abstract

Concrete Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  5. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  6. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  7. def become (behavior: Receive, discardOld: Boolean = true): Unit

    Changes the Actor's behavior to become the new 'Receive' (PartialFunction[Any, Unit]) handler.

    Changes the Actor's behavior to become the new 'Receive' (PartialFunction[Any, Unit]) handler. Puts the behavior on top of the hotswap stack. If "discardOld" is true, an unbecome will be issued prior to pushing the new behavior to the stack

  8. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  9. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  10. def equals (arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  11. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  12. def freshInstance (): Option[Actor]

    User overridable callback.

    User overridable callback.

    Is called on the crashed Actor to give it the option of producing the Actor's reincarnation. If it returns None, which is the default, the initially provided actor factory is used.

    Warning: Propagating state from a crashed actor carries the risk of proliferating the cause of the error. Consider let-it-crash first.

    Annotations
    @experimental( since = "1.2" )
  13. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef → Any
  14. def hashCode (): Int

    Definition Classes
    AnyRef → Any
  15. def isDefinedAt (message: Any): Boolean

    Is the actor able to handle the message passed in as arguments?

  16. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  17. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  18. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  19. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  20. def optionSelf : Option[ActorRef]

    Option[ActorRef] representation of the 'self' ActorRef reference.

    Option[ActorRef] representation of the 'self' ActorRef reference.

    Mainly for internal use, functions as the implicit sender references when invoking one of the message send functions ('!', '!!' and '!!!').

  21. def postRestart (reason: Throwable): Unit

    User overridable callback.

    User overridable callback.

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

  22. def postStop (): Unit

    User overridable callback.

    User overridable callback.

    Is called when 'actor.stop()' is invoked.

  23. def preRestart (reason: Throwable, message: Option[Any]): Unit

    User overridable callback.

    User overridable callback.

    Is called on a crashed Actor right BEFORE it is restarted to allow clean up of resources before Actor is terminated. Override either the variant with or without the currentMessage argument.

  24. def preStart (): Unit

    User overridable callback.

    User overridable callback.

    Is called when an Actor is started by invoking 'actor.start()'.

  25. implicit val self : ScalaActorRef

    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
    
    Here you also find most of the Actor API.

    For example fields like:

    self.dispatcher = ...
    self.trapExit = ...
    self.faultHandler = ...
    self.lifeCycle = ...
    self.sender
    

    Here you also find methods like:

    self.reply(..)
    self.link(..)
    self.unlink(..)
    self.start(..)
    self.stop(..)
    

    Attributes
    implicit
  26. val someSelf : Some[ActorRef]

    Some[ActorRef] representation of the 'self' ActorRef reference.

    Some[ActorRef] representation of the 'self' ActorRef reference.

    Mainly for internal use, functions as the implicit sender references when invoking the 'forward' function.

  27. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  28. def toString (): String

    Definition Classes
    AnyRef → Any
  29. def unbecome (): Unit

    Reverts the Actor behavior to the previous one in the hotswap stack.

  30. def unhandled (msg: 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 throws an UnhandledMessageException

  31. def wait (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  32. def wait (arg0: Long, arg1: Int): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  33. def wait (arg0: Long): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Deprecated Value Members

  1. def preRestart (reason: Throwable): Unit

    User overridable callback.

    User overridable callback.

    Is called on a crashed Actor right BEFORE it is restarted to allow clean up of resources before Actor is terminated. Override either the variant with or without the currentMessage argument.

    This method is deprecated: use the variant which receives the current message instead. This method will be removed in version 2.0.

    Annotations
    @deprecated
    Deprecated

    use two-argument version, this one will be removed in 2.0

Inherited from AnyRef

Inherited from Any