我有父母和孩子。每个儿童演员控制一个装置。当我创建所有的子角色时,我给他们一个uuid。
每个子参与者都是通过设备配置创建的,当配置更改时,我希望通过以下方式重新创建参与者:
>
停止旧的:
最终的未来停止了=优雅的停止(actorRef,Duration.create(1,时间单位。秒)); Await.result(停止,Duration.create(1, TimeUnit.二));
重新创建一个新的:
context.actor(Props.create(GateActor.class , () -
但它抛出了一个异常:akka。男演员InvalidActorNameException:参与者名称[6237255c-851b-47d2-ac31-03c7635e6537]不唯一
我认为gracefulStop代码不会删除儿童演员,我的问题是:如何删除儿童演员?
我还试着用一颗毒药将一名演员除名:
actorRef.tell(PoisonPill.getInstance(), getSelf());
从官方文件:
请记住,一个参与者停止和它的名字被注销是独立的事件,它们彼此异步发生。因此,您可能会发现该名称仍在使用后,Grace()返回。为了保证正确的注销,只能在您控制的主管内部重用名称,并且只能响应已终止的消息,即不适用于顶级参与者。
因此,只有在接收到监管角色应该注册的Terminated
消息后,您才应该执行创建具有回收名称的角色。
我是Akka的新手,我想知道我应该如何处理将工作委托给其他(儿童)演员的演员,但在哪里: 其中一些儿童演员必须按特定顺序参与;和 其中一些子参与者可以以任何顺序参与,并且可以真正地与主/父参与者所做的事情异步执行 假设我有以下儿童演员(不管他们做什么): 假设我有以下调用它们的父参与者: 如你所见: 必须首先“参与”(由家长调用),我们必须等待家长的响应,然后才能继续参与/调用、或 换句话说,当消
在主管内部- 以下是我主管课程的一部分: 以下是导致子参与者停止的条件: 在akka工具包中,我可以使用哪个API打印我的Supervisor类中所有子角色的状态?
我对阿克卡很陌生,我有一个(希望)简单的问题。我有一个参与者需要重复执行某个小的子任务——也就是说,每次这个参与者收到消息时,它都必须执行N个子任务。这个子任务是我指定给儿童演员的。我的问题是,我是否应该为每个子任务创建一个新的子角色实例?或者我应该简单地产生一个孩子演员,并发送N条消息?在这种情况下,最好的做法是什么? 为了更好地说明我的问题,这里有两个简化的示例(在Java中-但希望对Scal
我有三种模式:有许多有许多。当我删除一个用户时,我希望自动删除他所有相关的帖子以及与这些帖子相关的评论。为了实现这一点,我在和模型中有以下代码: 当我删除一个用户时,他的所有帖子都会被删除,但是评论会被保留。为什么会发生这种情况?
有人知道我为什么会有这种行为吗?是我的代码出了bug还是什么问题?