Packages

t

org.apache.pekko.actor

ActorContext

trait ActorContext extends ActorRefFactory with ClassicActorContextProvider

The actor context - the view of the actor cell from the actor. Exposes contextual information for the actor and the current message.

There are several possibilities for creating actors (see pekko.actor.Props for details on props):

// Java or Scala
context.actorOf(props, "name")
context.actorOf(props)

// Scala
context.actorOf(Props[MyActor])
context.actorOf(Props(classOf[MyActor], arg1, arg2), "name")

// Java
getContext().actorOf(Props.create(MyActor.class));
getContext().actorOf(Props.create(MyActor.class, arg1, arg2), "name");

Where no name is given explicitly, one will be automatically generated.

Source
ActorCell.scala
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ActorContext
  2. ClassicActorContextProvider
  3. ActorRefFactory
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def actorOf(props: Props, name: String): ActorRef

    Create new actor as child of this context with the given name, which must not be null, empty or start with “$”.

    Create new actor as child of this context with the given name, which must not be null, empty or start with “$”. If the given name is already in use, an InvalidActorNameException is thrown.

    See pekko.actor.Props for details on how to obtain a Props object.

    Definition Classes
    ActorRefFactory
    Exceptions thrown

    java.lang.UnsupportedOperationException if invoked on an ActorSystem that uses a custom user guardian

    pekko.ConfigurationException if deployment, dispatcher or mailbox configuration is wrong

    pekko.actor.InvalidActorNameException if the given name is invalid or already in use

  2. abstract def actorOf(props: Props): ActorRef

    Create new actor as child of this context and give it an automatically generated name (currently similar to base64-encoded integer count, reversed and with “$” prepended, may change in the future).

    Create new actor as child of this context and give it an automatically generated name (currently similar to base64-encoded integer count, reversed and with “$” prepended, may change in the future).

    See pekko.actor.Props for details on how to obtain a Props object.

    Definition Classes
    ActorRefFactory
    Exceptions thrown

    java.lang.UnsupportedOperationException if invoked on an ActorSystem that uses a custom user guardian

    pekko.ConfigurationException if deployment, dispatcher or mailbox configuration is wrong

  3. abstract def become(behavior: Receive, discardOld: Boolean): 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. This method acts upon the behavior stack as follows:

    • if discardOld = true it will replace the top element (i.e. the current behavior)
    • if discardOld = false it will keep the current behavior and push the given one atop

    The default of replacing the current behavior on the stack has been chosen to avoid memory leaks in case client code is written without consulting this documentation first (i.e. always pushing new behaviors and never issuing an unbecome())

    *Warning*: This method is not thread-safe and must not be accessed from threads other than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  4. abstract def child(name: String): Option[ActorRef]

    Get the child with the given name if it exists.

    Get the child with the given name if it exists.

    *Warning*: This method is not thread-safe and must not be accessed from threads other than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  5. abstract def children: Iterable[ActorRef]

    Returns all supervised children; this method returns a view (i.e.

    Returns all supervised children; this method returns a view (i.e. a lazy collection) onto the internal collection of children. Targeted lookups should be using child instead for performance reasons:

    val badLookup = context.children find (_.path.name == "kid")
    // should better be expressed as:
    val goodLookup = context.child("kid")

    *Warning*: This method is not thread-safe and must not be accessed from threads other than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  6. implicit abstract def dispatcher: ExecutionContextExecutor

    Returns the dispatcher (MessageDispatcher) that is used for this Actor.

    Returns the dispatcher (MessageDispatcher) that is used for this Actor. Importing this member will place an implicit ExecutionContext in scope.

    This method is thread-safe and can be called from other threads than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

    Definition Classes
    ActorContextActorRefFactory
  7. abstract def guardian: InternalActorRef

    Parent of all children created by this interface.

    Parent of all children created by this interface.

    INTERNAL API

    Attributes
    protected
    Definition Classes
    ActorRefFactory
  8. abstract def lookupRoot: InternalActorRef

    INTERNAL API

    INTERNAL API

    Attributes
    protected
    Definition Classes
    ActorRefFactory
  9. abstract def parent: ActorRef

    Returns the supervising parent ActorRef.

    Returns the supervising parent ActorRef.

    This method is thread-safe and can be called from other threads than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  10. abstract def props: Props

    Retrieve the Props which were used to create this actor.

    Retrieve the Props which were used to create this actor.

    This method is thread-safe and can be called from other threads than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  11. abstract def provider: ActorRefProvider

    INTERNAL API

    INTERNAL API

    Attributes
    protected
    Definition Classes
    ActorRefFactory
  12. abstract def receiveTimeout: Duration

    Gets the current receive timeout.

    Gets the current receive timeout. When specified, the receive method should be able to handle a pekko.actor.ReceiveTimeout message.

    *Warning*: This method is not thread-safe and must not be accessed from threads other than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  13. abstract def self: ActorRef

    The ActorRef representing this actor

    The ActorRef representing this actor

    This method is thread-safe and can be called from other threads than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  14. abstract def sender(): ActorRef

    Returns the sender 'ActorRef' of the current message.

    Returns the sender 'ActorRef' of the current message.

    *Warning*: This method is not thread-safe and must not be accessed from threads other than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  15. abstract def setReceiveTimeout(timeout: Duration): Unit

    Defines the inactivity timeout after which the sending of a pekko.actor.ReceiveTimeout message is triggered.

    Defines the inactivity timeout after which the sending of a pekko.actor.ReceiveTimeout message is triggered. When specified, the receive function should be able to handle a pekko.actor.ReceiveTimeout message. 1 millisecond is the minimum supported timeout.

    Please note that the receive timeout might fire and enqueue the ReceiveTimeout message right after another message was enqueued; hence it is not guaranteed that upon reception of the receive timeout there must have been an idle period beforehand as configured via this method.

    Once set, the receive timeout stays in effect (i.e. continues firing repeatedly after inactivity periods). Pass in Duration.Undefined to switch off this feature.

    Messages marked with NotInfluenceReceiveTimeout will not reset the timer. This can be useful when ReceiveTimeout should be fired by external inactivity but not influenced by internal activity, e.g. scheduled tick messages.

    *Warning*: This method is not thread-safe and must not be accessed from threads other than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  16. abstract def stop(actor: ActorRef): Unit

    Stop the actor pointed to by the given pekko.actor.ActorRef; this is an asynchronous operation, i.e.

    Stop the actor pointed to by the given pekko.actor.ActorRef; this is an asynchronous operation, i.e. involves a message send. If this method is applied to the self reference from inside an Actor then that Actor is guaranteed to not process any further messages after this call; please note that the processing of the current message will continue, this method does not immediately terminate this actor.

    Definition Classes
    ActorRefFactory
  17. implicit abstract def system: ActorSystem

    The system that the actor belongs to.

    The system that the actor belongs to. Importing this member will place an implicit ActorSystem in scope.

    This method is thread-safe and can be called from other threads than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  18. abstract def systemImpl: ActorSystemImpl

    INTERNAL API

    INTERNAL API

    Attributes
    protected
    Definition Classes
    ActorRefFactory
  19. abstract def unbecome(): Unit

    Reverts the Actor behavior to the previous one on the behavior stack.

    Reverts the Actor behavior to the previous one on the behavior stack.

    *Warning*: This method is not thread-safe and must not be accessed from threads other than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  20. abstract def unwatch(subject: ActorRef): ActorRef

    Unregisters this actor as Monitor for the provided ActorRef.

    Unregisters this actor as Monitor for the provided ActorRef.

    returns

    the provided ActorRef *Warning*: This method is not thread-safe and must not be accessed from threads other than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  21. abstract def watch(subject: ActorRef): ActorRef

    Registers this actor as a Monitor for the provided ActorRef.

    Registers this actor as a Monitor for the provided ActorRef. This actor will receive a Terminated(subject) message when watched actor is terminated.

    watch is idempotent if it is not mixed with watchWith.

    It will fail with an java.lang.IllegalStateException if the same subject was watched before using watchWith. To clear the termination message, unwatch first.

    *Warning*: This method is not thread-safe and must not be accessed from threads other than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

    returns

    the provided ActorRef

  22. abstract def watchWith(subject: ActorRef, msg: Any): ActorRef

    Registers this actor as a Monitor for the provided ActorRef.

    Registers this actor as a Monitor for the provided ActorRef. This actor will receive the specified message when watched actor is terminated.

    watchWith is idempotent if it is called with the same msg and not mixed with watch.

    It will fail with an java.lang.IllegalStateException if the same subject was watched before using watch or watchWith with another termination message. To change the termination message, unwatch first.

    *Warning*: This method is not thread-safe and must not be accessed from threads other than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

    returns

    the provided ActorRef

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from ActorContext toany2stringadd[ActorContext] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (ActorContext, B)
    Implicit
    This member is added by an implicit conversion from ActorContext toArrowAssoc[ActorContext] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def actorSelection(path: ActorPath): ActorSelection

    Construct an pekko.actor.ActorSelection from the given path, which is parsed for wildcards (these are replaced by regular expressions internally).

    Construct an pekko.actor.ActorSelection from the given path, which is parsed for wildcards (these are replaced by regular expressions internally). No attempt is made to verify the existence of any part of the supplied path, it is recommended to send a message and gather the replies in order to resolve the matching set of actors.

    Definition Classes
    ActorRefFactory
  7. def actorSelection(path: String): ActorSelection

    Construct an pekko.actor.ActorSelection from the given path, which is parsed for wildcards (these are replaced by regular expressions internally).

    Construct an pekko.actor.ActorSelection from the given path, which is parsed for wildcards (these are replaced by regular expressions internally). No attempt is made to verify the existence of any part of the supplied path, it is recommended to send a message and gather the replies in order to resolve the matching set of actors.

    Definition Classes
    ActorRefFactory
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def become(behavior: Receive): 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. Replaces the current behavior on the top of the behavior stack.

    *Warning*: This method is not thread-safe and must not be accessed from threads other than the ordinary actor message processing thread, such as java.util.concurrent.CompletionStage and scala.concurrent.Future callbacks.

  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  11. def ensuring(cond: (ActorContext) => Boolean, msg: => Any): ActorContext
    Implicit
    This member is added by an implicit conversion from ActorContext toEnsuring[ActorContext] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: (ActorContext) => Boolean): ActorContext
    Implicit
    This member is added by an implicit conversion from ActorContext toEnsuring[ActorContext] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. def ensuring(cond: Boolean, msg: => Any): ActorContext
    Implicit
    This member is added by an implicit conversion from ActorContext toEnsuring[ActorContext] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: Boolean): ActorContext
    Implicit
    This member is added by an implicit conversion from ActorContext toEnsuring[ActorContext] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  23. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def writeObject(o: ObjectOutputStream): Unit

    ActorContexts shouldn't be Serializable

    ActorContexts shouldn't be Serializable

    Attributes
    protected

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from ActorContext toStringFormat[ActorContext] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. def [B](y: B): (ActorContext, B)
    Implicit
    This member is added by an implicit conversion from ActorContext toArrowAssoc[ActorContext] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from ActorRefFactory

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromActorContext to any2stringadd[ActorContext]

Inherited by implicit conversion StringFormat fromActorContext to StringFormat[ActorContext]

Inherited by implicit conversion Ensuring fromActorContext to Ensuring[ActorContext]

Inherited by implicit conversion ArrowAssoc fromActorContext to ArrowAssoc[ActorContext]

Ungrouped