akka.routing
Class ScatterGatherFirstCompletedGroup

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

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

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

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

See Also:
Serialized Form

Constructor Summary
ScatterGatherFirstCompletedGroup(com.typesafe.config.Config config)
           
ScatterGatherFirstCompletedGroup(java.lang.Iterable<java.lang.String> routeePaths, scala.concurrent.duration.FiniteDuration within)
          Java API
ScatterGatherFirstCompletedGroup(scala.collection.immutable.Iterable<java.lang.String> paths, scala.concurrent.duration.FiniteDuration within, 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
 ScatterGatherFirstCompletedGroup withDispatcher(java.lang.String dispatcherId)
          Setting the dispatcher to be used for the router head actor, which handles router management messages
 scala.concurrent.duration.FiniteDuration within()
           
 
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

ScatterGatherFirstCompletedGroup

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

ScatterGatherFirstCompletedGroup

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

ScatterGatherFirstCompletedGroup

public ScatterGatherFirstCompletedGroup(java.lang.Iterable<java.lang.String> routeePaths,
                                        scala.concurrent.duration.FiniteDuration within)
Java API

Parameters:
routeePaths - string representation of the actor paths of the routees, messages are sent with ActorSelection to these paths
within - expecting at least one reply within this duration, otherwise it will reply with AskTimeoutException in a Status.Failure
Method Detail

paths

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

within

public scala.concurrent.duration.FiniteDuration within()

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 ScatterGatherFirstCompletedGroup 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)