akka.actor

UntypedActor

class UntypedActor extends Actor

Subclass this abstract class to create a MDB-style untyped actor.

This class is meant to be used from Java.

Here is an example on how to create and use an UntypedActor:

 public class SampleUntypedActor extends UntypedActor {
   public void onReceive(Object message) throws Exception {
     if (message instanceof String) {
       String msg = (String)message;

       if (msg.equals("UseReply")) {
         // Reply to original sender of message using the 'replyUnsafe' method
         getContext().replyUnsafe(msg + ":" + getContext().getUuid());

       } else if (msg.equals("UseSender") && getContext().getSender().isDefined()) {
         // Reply to original sender of message using the sender reference
         // also passing along my own reference (the context)
         getContext().getSender().get().tell(msg, context);

       } else if (msg.equals("UseSenderFuture") && getContext().getSenderFuture().isDefined()) {
         // Reply to original sender of message using the sender future reference
         getContext().getSenderFuture().get().completeWithResult(msg);

       } else if (msg.equals("SendToSelf")) {
         // Send message to the actor itself recursively
         getContext().tell(msg)

       } else if (msg.equals("ForwardMessage")) {
         // Retrieve an actor from the ActorRegistry by ID and get an ActorRef back
         ActorRef actorRef = Actor.registry.actorsFor("some-actor-id").head();

       } else throw new IllegalArgumentException("Unknown message: " + message);
     } else throw new IllegalArgumentException("Unknown message: " + message);
   }

   public static void main(String[] args) {
     ActorRef actor = Actors.actorOf(SampleUntypedActor.class);
     actor.start();
     actor.tell("SendToSelf");
     actor.stop();
   }
 }

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

Instance Constructors

  1. new UntypedActor ()

Type Members

  1. type Receive = PartialFunction[Any, Unit]

    Type alias because traits cannot have companion objects.

    Type alias because traits cannot have companion objects.

    Definition Classes
    Actor

Abstract Value Members

  1. def onReceive (message: Any): Unit

    To be implemented by concrete UntypedActor.

    To be implemented by concrete UntypedActor. Defines the message handler.

    Attributes
    abstract
    Annotations
    @throws( classOf[Exception] )

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: Procedure[Any], discardOld: Boolean): Unit

  8. def become (behavior: Procedure[Any]): Unit

    Java API for become

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

    Definition Classes
    Actor
  10. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. def context (): ActorRef

    Returns the 'self' reference with the API.

  12. def eq (arg0: AnyRef): Boolean

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

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

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  15. 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.

    Definition Classes
    Actor
    Annotations
    @experimental( since = "1.2" )
  16. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef → Any
  17. def getContext (): ActorRef

    Returns the 'self' reference with the API.

  18. def hashCode (): Int

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

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

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

    Definition Classes
    Actor
  20. def isInstanceOf [T0] : Boolean

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

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

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

    Attributes
    final
    Definition Classes
    AnyRef
  24. 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 '!!!').

    Definition Classes
    Actor
  25. 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.

    Definition Classes
    UntypedActorActor
  26. def postStop (): Unit

    User overridable callback.

    User overridable callback.

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

    Definition Classes
    UntypedActorActor
  27. 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.

    Definition Classes
    UntypedActorActor
  28. 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.

    Definition Classes
    Actor
  29. def preStart (): Unit

    User overridable callback.

    User overridable callback.

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

    Definition Classes
    UntypedActorActor
  30. def receive : PartialFunction[Any, Unit]

    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 final
    Definition Classes
    UntypedActorActor
  31. 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
    Definition Classes
    Actor
  32. 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.

    Definition Classes
    Actor
  33. def synchronized [T0] (arg0: ⇒ T0): T0

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

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

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

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

    Definition Classes
    Actor
  36. 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

    Definition Classes
    UntypedActorActor
  37. def wait (): Unit

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

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

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from Actor

Inherited from AnyRef

Inherited from Any