我正在使用Akka Java API 2.5.12。我想实现推送发送器。我使用具有一秒延迟的无限循环,并且在每次迭代中,我都使用Hikari数据源连接池从数据库中提取了50次推送。然后,我遍历此50次推送列表,并在每次迭代中以这种方式创建新的Actor:

final ActorRef pushSenderActor = system.actorOf(PushSenderAktor.props());
pushSenderActor.tell(push, ActorRef.noSender());


然后,PushSenderAktor扮演角色并异步发送推送。

我的问题是:我必须在演员执行context().stop(getSelf());方法的推送发送后停止它,还是该演员在执行createReceive()方法后会自杀?
因为我不想在ActorSystem中包含HollyWood。

最佳答案

您需要明确停止或发送PoisonPill

https://doc.akka.io/docs/akka/2.5/actors.html#actor-lifecycle

还应考虑在顶级演员中使用调度程序进行常规工作,并考虑将演员留在身边并用作长期工人。

关于java - Akka Actor 生命周期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50625209/

10-15 19:14