Class RandomGroup

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

public final class RandomGroup extends Object implements Group, scala.Product, Serializable
A router group that randomly selects one of the target routees to send a message to.

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: routerDispatcher dispatcher to use for the router head actor, which handles router management messages

See Also:
  • Constructor Details

    • RandomGroup

      public RandomGroup(scala.collection.immutable.Iterable<String> paths, String routerDispatcher)
    • RandomGroup

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

      public RandomGroup(Iterable<String> routeePaths)
      Java API
      Parameters:
      routeePaths - string representation of the actor paths of the routees, messages are sent with pekko.actor.ActorSelection to these paths
  • Method Details

    • $lessinit$greater$default$2

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

      public static RandomGroup apply(scala.collection.immutable.Iterable<String> paths, String routerDispatcher)
    • apply$default$2

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

      public static scala.Option<scala.Tuple2<scala.collection.immutable.Iterable<String>,String>> unapply(RandomGroup x$0)
    • paths

      public scala.collection.immutable.Iterable<String> paths()
    • 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 RandomGroup withDispatcher(String dispatcherId)
      Setting the dispatcher to be used for the router head actor, which handles router management messages
    • copy

      public RandomGroup copy(scala.collection.immutable.Iterable<String> paths, String routerDispatcher)
    • copy$default$1

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

      public String copy$default$2()
    • 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