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.
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 |
---|---|
Router |
createRouter(ActorSystem system)
Create the actual router, responsible for routing messages to routees.
|
scala.PartialFunction<java.lang.Object,java.lang.Object> |
hashMapping() |
scala.collection.immutable.Iterable<java.lang.String> |
paths() |
java.lang.String |
routerDispatcher()
Dispatcher ID to use for running the “head” actor, which handles
supervision, death watch and router management messages
|
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 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 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 Router createRouter(ActorSystem system)
RouterConfig
createRouter
in interface RouterConfig
system
- the ActorSystem this router belongs topublic ConsistentHashingGroup withDispatcher(java.lang.String dispatcherId)
public ConsistentHashingGroup withVirtualNodesFactor(int vnodes)
ConsistentHash
public ConsistentHashingGroup withHashMapper(ConsistentHashingRouter.ConsistentHashMapper mapper)
public RouterConfig withFallback(RouterConfig other)
hashMapping
defined in code, since that can't be defined in configuration.withFallback
in interface RouterConfig