java - Akka Actor 生命周期

标签 java scala akka lifecycle hikaricp

我正在使用 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/

相关文章:

java - 如何使用 Paint() 和 run() 或其他方法保留以前的更改

java - 第二次打开同一连接时,HttpUrlConnection.getOutputStream 导致 "Handshake message sequence violation, 11"异常

string - 如何找到scala.MatchError的来源?

Scalajs WebGL "Hello World!"

java - Lambda 运算符 () -> 如何工作?

java - 将另一个程序的输出打印到 java 文本区域

java - Android绘图/绘画应用程序立即更新?

Scala 使用接受鸭子类型(duck typing)参数的类创建实例

java - 使用 Spray Akka 超线程的 Scala 服务器

scala - 为什么变量或变量的副本不同?