喜欢 Actor 生命周期

Akka Actor LifeCycle

我正在使用 Akka Java API 2.5.12。我想实现 push sender。我使用延迟一秒的无限循环,在每次迭代中,我使用 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 并将它们用作长期工作人员。