首页 > 解决方案 > Akka 在生成期间键入发送消息

问题描述

这个问题是相当不言自明的。

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

创建顶级actor时,akka返回一个CompletionStage等待创建actor的。

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

请注意,我在我的应用程序中使用了 akka-typed、java 和 spring

标签: javaspringakkaakka-actorakka-typed

解决方案


基本思想是使用CompletionStageAPI 链接调用来引导您的应用程序。

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

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

由于您对引导并不太具体,我假设您需要一个ActorRef引导您的应用程序。在上面的代码片段spawnActorRef()中,你可以调用你的SpawnProtocol和返回CompletionStage,一旦 ref 可用,ActorRef你就可以使用它来链接一个动作,并使用它传递给你的引导代码的其余部分。thenApply


推荐阅读