Akka 在产卵期间键入发送消息

Akka typed sending messages during spawning

这个问题不言自明。

目前我的 webapp 正在启动时创建 actor 系统,并使用 SpawnProtocol 生成一些顶级 actor。此外,启动还可以在启动期间向这些参与者发送一些消息。

创建顶级 actor 时,akka returns a CompletionStage 等待创建 actor。

这种在 actor 生成期间接受消息的场景的最佳设计模式是什么?我应该让启动等待 actor 生成完成,还是隐藏发送的消息并让线程继续?如果要存储,请发送一些线程安全和高性能的示例存储技术

请注意,我在我的应用程序中使用了 akka 类型的 java 和 spring

基本思路是使用 CompletionStage API 将调用链接到 bootstrap 您的应用。

CompletionStage<ActorRef<Stuff>> actorRefPromise = spawnActorRef();

actorRefPromise.thenApply(actorRef -> bootStrapApp(actorRef))

因为你对你的 bootstrapping 并不太具体,我假设你需要一个 ActorRef 到 bootstrap 你的应用程序。在上面的代码片段中,spawnActorRef() 是调用 ActorRefSpawnProtocol 和 returns CompletionStage 的内容,然后您可以使用 thenApply 链接一次操作该 ref 可用并使用它传递给其余的 bootstrapping 代码。