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 getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef
  13. def hashCode (): Int

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

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

  15. def isInstanceOf [T0] : Boolean

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

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

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

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

    Attributes
    implicit
  20. 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.

  21. def postStop (): Unit

    User overridable callback.

    User overridable callback.

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

  22. 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.

  23. def preStart (): Unit

    User overridable callback.

    User overridable callback.

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

  24. 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(..)
    

  25. implicit val someSelf : Some[ActorRef]

    Attributes
    implicit
  26. def synchronized [T0] (arg0: ⇒ T0): T0

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

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

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

  29. 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

  30. def wait (): Unit

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

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

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any