Replace ClusterRouterGroup/Pool "use-role" with "use-role-set" #23496

This commit is contained in:
Sébastien Lorion 2017-08-09 16:06:18 +02:00 committed by Johan Andrén
parent 5477a6f92d
commit a95a94acff
22 changed files with 445 additions and 96 deletions

View file

@ -13,7 +13,10 @@ import akka.actor.AbstractActor;
import akka.routing.ConsistentHashingRouter.ConsistentHashableEnvelope;
import akka.routing.FromConfig;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
//#service
public class StatsService extends AbstractActor {
@ -55,11 +58,11 @@ abstract class StatsService2 extends AbstractActor {
Iterable<String> routeesPaths = Collections
.singletonList("/user/statsWorker");
boolean allowLocalRoutees = true;
String useRole = "compute";
Set<String> useRoles = new HashSet<>(Arrays.asList("compute"));
ActorRef workerRouter = getContext().actorOf(
new ClusterRouterGroup(new ConsistentHashingGroup(routeesPaths),
new ClusterRouterGroupSettings(totalInstances, routeesPaths,
allowLocalRoutees, useRole)).props(), "workerRouter2");
allowLocalRoutees, useRoles)).props(), "workerRouter2");
//#router-lookup-in-code
}
@ -69,11 +72,11 @@ abstract class StatsService3 extends AbstractActor {
int totalInstances = 100;
int maxInstancesPerNode = 3;
boolean allowLocalRoutees = false;
String useRole = "compute";
Set<String> useRoles = new HashSet<>(Arrays.asList("compute"));
ActorRef workerRouter = getContext().actorOf(
new ClusterRouterPool(new ConsistentHashingPool(0),
new ClusterRouterPoolSettings(totalInstances, maxInstancesPerNode,
allowLocalRoutees, useRole)).props(Props
allowLocalRoutees, useRoles)).props(Props
.create(StatsWorker.class)), "workerRouter3");
//#router-deploy-in-code
}