public final class ConsistentHashingGroup extends java.lang.Object implements Group, scala.Product, scala.Serializable
ConsistentHashingRoutingLogic
.
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: virtualNodesFactor number of virtual nodes per node, used in ConsistentHash
param: hashMapping partial function from message to the data to use for the consistent hash key
param: routerDispatcher dispatcher to use for the router head actor, which handles router management messages
Constructor and Description |
---|
ConsistentHashingGroup(com.typesafe.config.Config config) |
ConsistentHashingGroup(java.lang.Iterable<java.lang.String> routeePaths)
Java API
|
ConsistentHashingGroup(scala.collection.immutable.Iterable<java.lang.String> paths,
int virtualNodesFactor,
scala.PartialFunction<java.lang.Object,java.lang.Object> hashMapping,
java.lang.String routerDispatcher) |
Modifier and Type | Method and Description |
---|---|
abstract static boolean |
canEqual(java.lang.Object that) |
Router |
createRouter(ActorSystem system)
Create the actual router, responsible for routing messages to routees.
|
static RouterActor |
createRouterActor() |
abstract static boolean |
equals(java.lang.Object that) |
scala.PartialFunction<java.lang.Object,java.lang.Object> |
hashMapping() |
static boolean |
isManagementMessage(java.lang.Object msg) |
scala.collection.immutable.Iterable<java.lang.String> |
paths() |
scala.collection.immutable.Iterable<java.lang.String> |
paths(ActorSystem system) |
abstract static int |
productArity() |
abstract static java.lang.Object |
productElement(int n) |
static scala.collection.Iterator<java.lang.Object> |
productIterator() |
static java.lang.String |
productPrefix() |
static Props |
props() |
static Routee |
routeeFor(java.lang.String path,
ActorContext context) |
java.lang.String |
routerDispatcher()
Dispatcher ID to use for running the “head” actor, which handles
supervision, death watch and router management messages
|
static scala.Option<Props> |
routingLogicController(RoutingLogic routingLogic) |
static boolean |
stopRouterWhenAllRouteesRemoved() |
static void |
verifyConfig(ActorPath path) |
int |
virtualNodesFactor() |
ConsistentHashingGroup |
withDispatcher(java.lang.String dispatcherId)
Setting the dispatcher to be used for the router head actor, which handles
router management messages
|
RouterConfig |
withFallback(RouterConfig other)
Uses the
hashMapping defined in code, since that can't be defined in configuration. |
ConsistentHashingGroup |
withHashMapper(ConsistentHashingRouter.ConsistentHashMapper mapper)
Java API: Setting the mapping from message to the data to use for the consistent hash key.
|
ConsistentHashingGroup |
withVirtualNodesFactor(int vnodes)
Setting the number of virtual nodes per node, used in
ConsistentHash |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createRouterActor, props, routeeFor
isManagementMessage, routingLogicController, stopRouterWhenAllRouteesRemoved, verifyConfig
public ConsistentHashingGroup(scala.collection.immutable.Iterable<java.lang.String> paths, int virtualNodesFactor, scala.PartialFunction<java.lang.Object,java.lang.Object> hashMapping, java.lang.String routerDispatcher)
public ConsistentHashingGroup(com.typesafe.config.Config config)
public ConsistentHashingGroup(java.lang.Iterable<java.lang.String> routeePaths)
routeePaths
- string representation of the actor paths of the routees, messages are
sent with ActorSelection
to these pathspublic static scala.Option<Props> routingLogicController(RoutingLogic routingLogic)
public static boolean isManagementMessage(java.lang.Object msg)
public static boolean stopRouterWhenAllRouteesRemoved()
public static void verifyConfig(ActorPath path)
public static Props props()
public static Routee routeeFor(java.lang.String path, ActorContext context)
public static RouterActor createRouterActor()
public abstract static boolean canEqual(java.lang.Object that)
public abstract static boolean equals(java.lang.Object that)
public abstract static java.lang.Object productElement(int n)
public abstract static int productArity()
public static scala.collection.Iterator<java.lang.Object> productIterator()
public static java.lang.String productPrefix()
public scala.collection.immutable.Iterable<java.lang.String> paths()
public int virtualNodesFactor()
public scala.PartialFunction<java.lang.Object,java.lang.Object> hashMapping()
public java.lang.String routerDispatcher()
RouterConfig
routerDispatcher
in interface RouterConfig
public scala.collection.immutable.Iterable<java.lang.String> paths(ActorSystem system)
public Router createRouter(ActorSystem system)
RouterConfig
createRouter
in interface RouterConfig
system
- the ActorSystem this router belongs topublic ConsistentHashingGroup withDispatcher(java.lang.String dispatcherId)
dispatcherId
- (undocumented)public ConsistentHashingGroup withVirtualNodesFactor(int vnodes)
ConsistentHash
vnodes
- (undocumented)public ConsistentHashingGroup withHashMapper(ConsistentHashingRouter.ConsistentHashMapper mapper)
mapper
- (undocumented)public RouterConfig withFallback(RouterConfig other)
hashMapping
defined in code, since that can't be defined in configuration.withFallback
in interface RouterConfig
other
- (undocumented)