我正在使用 Akka Java API 2.5.12。我想实现推送发送器。我使用具有一秒延迟的无限循环,并且在每次迭代中我使用 Hikari 数据源连接池从数据库获取 50 次推送。然后我迭代这个包含 50 次推送的列表,并在每次迭代中以这种方式创建新的 Actor:
final ActorRef pushSenderActor = system.actorOf(PushSenderAktor.props());
pushSenderActor.tell(push, ActorRef.noSender());
然后PushSenderAktor发挥其作用并异步发送推送。
我的问题是:在 Actor 通过 context().stop(getSelf());
方法执行推送发送后,我是否需要停止他,否则该 Actor 会杀死执行他的 createReceive()
方法后他自己?
因为我不想在我的 ActorSystem 中包含 HollyWood。
最佳答案
您需要明确停止或发送 PoisonPill
https://doc.akka.io/docs/akka/2.5/actors.html#actor-lifecycle
还可以考虑在常规工作中使用顶级 Actor 的调度程序,并考虑保留 Actor 并将其用作长期工作人员。
关于java - Akka Actor 生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50625209/