Akka 阿克卡-创造时的力量道具系列化
我有Akka集群,在那里可以远程和本地创建演员 当创建actor时,它接收初始状态(Akka 阿克卡-创造时的力量道具系列化,akka,akka-cluster,Akka,Akka Cluster,我有Akka集群,在那里可以远程和本地创建演员 当创建actor时,它接收初始状态(参数,在下面的示例中) 我正在寻找一种方法来克隆初始状态,因为当本地创建两个参与者时,它们在同一引用上工作,并且具有竞争条件(当远程创建参与者时,它接收到对象的序列化副本) 在此解决方案中,即使远程发送,参数也将被克隆,因此在性能方面并不完美 我还缺少其他解决方案吗 boolean allowLocalRoutees = true; Set<String> useRoles = Set.of("wor
参数
,在下面的示例中)
我正在寻找一种方法来克隆初始状态,因为当本地创建两个参与者时,它们在同一引用上工作,并且具有竞争条件(当远程创建参与者时,它接收到对象的序列化副本)
在此解决方案中,即使远程发送,参数也将被克隆,因此在性能方面并不完美
我还缺少其他解决方案吗
boolean allowLocalRoutees = true;
Set<String> useRoles = Set.of("worker");
ActorRef router = context.actorOf(
new ClusterRouterPool(
new RoundRobinPool(POOL_SIZE),
new ClusterRouterPoolSettings(
numOfWorkers, maxInstancesPerNode, allowLocalRoutees, useRoles))
.props(Props.create(Worker.class, masterRef, parameters
)));
boolean allowLocalRoutees = true;
Set<String> useRoles = Set.of("worker");
Parameters clonedParameters = parameters.clone();
ActorRef router = context.actorOf(
new ClusterRouterPool(
new RoundRobinPool(POOL_SIZE),
new ClusterRouterPoolSettings(
numOfWorkers, maxInstancesPerNode, allowLocalRoutees, useRoles))
.props(Props.create(Worker.class, masterRef, clonedParameters
)));