Class ScatterGatherFirstCompletedGroup

java.lang.Object
org.apache.pekko.routing.ScatterGatherFirstCompletedGroup
All Implemented Interfaces:
Serializable, Group, RouterConfig, scala.Equals, scala.Product

public final class ScatterGatherFirstCompletedGroup extends Object implements Group, scala.Product, Serializable
A router group that broadcasts the message to all routees, and replies with the first response.

The configuration parameter trumps the constructor arguments. This means that if you provide paths during instantiation they will be ignored if the router is defined in the configuration file for the actor being used.

param: paths string representation of the actor paths of the routees, messages are sent with pekko.actor.ActorSelection to these paths

param: within expecting at least one reply within this duration, otherwise it will reply with pekko.pattern.AskTimeoutException in a pekko.actor.Status.Failure

param: routerDispatcher dispatcher to use for the router head actor, which handles router management messages

See Also:
  • Constructor Details

    • ScatterGatherFirstCompletedGroup

      public ScatterGatherFirstCompletedGroup(scala.collection.immutable.Iterable<String> paths, scala.concurrent.duration.FiniteDuration within, String routerDispatcher)
    • ScatterGatherFirstCompletedGroup

      public ScatterGatherFirstCompletedGroup(com.typesafe.config.Config config)
    • ScatterGatherFirstCompletedGroup

      public ScatterGatherFirstCompletedGroup(Iterable<String> routeePaths, scala.concurrent.duration.FiniteDuration within)
      Java API
      Parameters:
      routeePaths - string representation of the actor paths of the routees, messages are sent with pekko.actor.ActorSelection to these paths
      within - expecting at least one reply within this duration, otherwise it will reply with pekko.pattern.AskTimeoutException in a pekko.actor.Status.Failure
    • ScatterGatherFirstCompletedGroup

      public ScatterGatherFirstCompletedGroup(Iterable<String> routeePaths, Duration within)
      Java API
      Parameters:
      routeePaths - string representation of the actor paths of the routees, messages are sent with pekko.actor.ActorSelection to these paths
      within - expecting at least one reply within this duration, otherwise it will reply with pekko.pattern.AskTimeoutException in a pekko.actor.Status.Failure
  • Method Details

    • $lessinit$greater$default$3

      public static String $lessinit$greater$default$3()
    • apply

      public static ScatterGatherFirstCompletedGroup apply(scala.collection.immutable.Iterable<String> paths, scala.concurrent.duration.FiniteDuration within, String routerDispatcher)
    • apply$default$3

      public static String apply$default$3()
    • unapply

      public static scala.Option<scala.Tuple3<scala.collection.immutable.Iterable<String>,scala.concurrent.duration.FiniteDuration,String>> unapply(ScatterGatherFirstCompletedGroup x$0)
    • paths

      public scala.collection.immutable.Iterable<String> paths()
    • within

      public scala.concurrent.duration.FiniteDuration within()
    • routerDispatcher

      public String routerDispatcher()
      Description copied from interface: RouterConfig
      Dispatcher ID to use for running the &ldquo;head&rdquo; actor, which handles supervision, death watch and router management messages
      Specified by:
      routerDispatcher in interface RouterConfig
    • paths

      public scala.collection.immutable.Iterable<String> paths(ActorSystem system)
      Specified by:
      paths in interface Group
    • createRouter

      public Router createRouter(ActorSystem system)
      Description copied from interface: RouterConfig
      Create the actual router, responsible for routing messages to routees.

      Specified by:
      createRouter in interface RouterConfig
      Parameters:
      system - the ActorSystem this router belongs to
    • withDispatcher

      public ScatterGatherFirstCompletedGroup withDispatcher(String dispatcherId)
      Setting the dispatcher to be used for the router head actor, which handles router management messages
    • copy

      public ScatterGatherFirstCompletedGroup copy(scala.collection.immutable.Iterable<String> paths, scala.concurrent.duration.FiniteDuration within, String routerDispatcher)
    • copy$default$1

      public scala.collection.immutable.Iterable<String> copy$default$1()
    • copy$default$2

      public scala.concurrent.duration.FiniteDuration copy$default$2()
    • copy$default$3

      public String copy$default$3()
    • productPrefix

      public String productPrefix()
      Specified by:
      productPrefix in interface scala.Product
    • productArity

      public int productArity()
      Specified by:
      productArity in interface scala.Product
    • productElement

      public Object productElement(int x$1)
      Specified by:
      productElement in interface scala.Product
    • productIterator

      public scala.collection.Iterator<Object> productIterator()
      Specified by:
      productIterator in interface scala.Product
    • canEqual

      public boolean canEqual(Object x$1)
      Specified by:
      canEqual in interface scala.Equals
    • productElementName

      public String productElementName(int x$1)
      Specified by:
      productElementName in interface scala.Product
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

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

      public boolean equals(Object x$1)
      Specified by:
      equals in interface scala.Equals
      Overrides:
      equals in class Object