我写了一个小应用程序,但是有一个问题是我的应用程序没有等待我的演员停止,而是在他们的动作完成之前停止他们。
我试图使最小的 ActorSystem 看起来像这样:
object Main extends App {
final case class Start()
def apply(): Behavior[Start] = {
Behaviors.setup { context =>
Behaviors.receiveMessage { message =>
Behaviors.same
}
}
}
val system: ActorSystem[Start] = ActorSystem(Main(), "test")
system ! Start()
}
但是问题仍然存在,因此应用程序的其余部分没有问题。我认为 ActorSystem 应该一直运行直到它停止?不是吗?
回答1
好的,我发现了问题所在。我的 build.sbt 文件中缺少 fork := true
。但我仍然不明白为什么会出现问题。