Class ActorSelection

java.lang.Object
org.apache.pekko.actor.ActorSelection
All Implemented Interfaces:
Serializable

public abstract class ActorSelection extends Object implements Serializable
An ActorSelection is a logical view of a section of an ActorSystem's tree of Actors, allowing for broadcasting of messages to that section.
See Also:
  • Constructor Details

    • ActorSelection

      public ActorSelection()
  • Method Details

    • toScala

      public static ScalaActorSelection toScala(ActorSelection sel)
    • apply

      public static ActorSelection apply(ActorRef anchorRef, String path)
      Construct an ActorSelection from the given string representing a path relative to the given target. This operation has to create all the matching magic, so it is preferable to cache its result if the intention is to send messages frequently.
    • apply

      public static ActorSelection apply(ActorRef anchorRef, scala.collection.Iterable<String> elements)
      Construct an ActorSelection from the given string representing a path relative to the given target. This operation has to create all the matching magic, so it is preferable to cache its result if the intention is to send messages frequently.
    • anchor

      protected abstract ActorRef anchor()
    • path

      protected abstract scala.collection.immutable.IndexedSeq<SelectionPathElement> path()
    • tell

      public void tell(Object msg, ActorRef sender)
      Sends the specified message to this ActorSelection, i.e. fire-and-forget semantics, including the sender reference if possible.

      Pass ActorRef.noSender() or null as sender if there is nobody to reply to

    • forward

      public void forward(Object message, ActorContext context)
      Forwards the message and passes the original sender actor as the sender.

      Works, no matter whether originally sent with tell/'!' or ask/'?'.

    • resolveOne

      public scala.concurrent.Future<ActorRef> resolveOne(Timeout timeout)
      Resolve the ActorRef matching this selection. The result is returned as a Future that is completed with the ActorRef if such an actor exists. It is completed with failure ActorNotFound if no such actor exists or the identification didn't complete within the supplied timeout.

      Under the hood it talks to the actor to verify its existence and acquire its ActorRef.

    • resolveOne

      public scala.concurrent.Future<ActorRef> resolveOne(scala.concurrent.duration.FiniteDuration timeout)
      Resolve the ActorRef matching this selection. The result is returned as a Future that is completed with the ActorRef if such an actor exists. It is completed with failure ActorNotFound if no such actor exists or the identification didn't complete within the supplied timeout.

      Under the hood it talks to the actor to verify its existence and acquire its ActorRef.

    • resolveOne

      public CompletionStage<ActorRef> resolveOne(Duration timeout)
      Java API for resolveOne(org.apache.pekko.util.Timeout)

      Resolve the ActorRef matching this selection. The result is returned as a CompletionStage that is completed with the ActorRef if such an actor exists. It is completed with failure ActorNotFound if no such actor exists or the identification didn't complete within the supplied timeout.

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • anchorPath

      public ActorPath anchorPath()
      The pekko.actor.ActorPath of the anchor actor.
    • pathString

      public String pathString()
      String representation of the path elements, starting with "/" and separated with "/".
    • toSerializationFormat

      public String toSerializationFormat()
      String representation of the actor selection suitable for storage and recreation. The output is similar to the URI fragment returned by pekko.actor.ActorPath#toSerializationFormat.
      Returns:
      URI fragment
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object