akka.routing
Class RandomGroup

java.lang.Object
  extended by akka.routing.RandomGroup
All Implemented Interfaces:
Group, RouterConfig, java.io.Serializable, scala.Equals, scala.Product

public final class RandomGroup
extends java.lang.Object
implements Group, scala.Product, scala.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 ActorSelection to these paths

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

See Also:
Serialized Form

Constructor Summary
RandomGroup(com.typesafe.config.Config config)
           
RandomGroup(scala.collection.immutable.Iterable<java.lang.String> paths, java.lang.String routerDispatcher)
           
 
Method Summary
 Router createRouter(ActorSystem system)
          Create the actual router, responsible for routing messages to routees.
 scala.collection.immutable.Iterable<java.lang.String> paths()
           
 java.lang.String routerDispatcher()
          Dispatcher ID to use for running the &ldquo;head&rdquo; actor, which handles supervision, death watch and router management messages
 RandomGroup withDispatcher(java.lang.String dispatcherId)
          Setting the dispatcher to be used for the router head actor, which handles router management messages
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface akka.routing.Group
createRouterActor, props, routeeFor
 
Methods inherited from interface akka.routing.RouterConfig
isManagementMessage, routingLogicController, stopRouterWhenAllRouteesRemoved, verifyConfig, withFallback
 
Methods inherited from interface scala.Product
productArity, productElement, productIterator, productPrefix
 
Methods inherited from interface scala.Equals
canEqual, equals
 

Constructor Detail

RandomGroup

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

RandomGroup

public RandomGroup(com.typesafe.config.Config config)
Method Detail

paths

public scala.collection.immutable.Iterable<java.lang.String> paths()
Specified by:
paths in interface Group

routerDispatcher

public java.lang.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
Returns:
(undocumented)

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
Returns:
(undocumented)

withDispatcher

public RandomGroup withDispatcher(java.lang.String dispatcherId)
Setting the dispatcher to be used for the router head actor, which handles router management messages

Parameters:
dispatcherId - (undocumented)
Returns:
(undocumented)