java - Akka 在生成期间键入发送消息
问题描述
这个问题是相当不言自明的。
目前我的 webapp 正在启动时创建 actor 系统,并使用SpawnProtocol
. 此外,启动还可以在启动期间向这些参与者发送一些消息。
创建顶级actor时,akka返回一个CompletionStage
等待创建actor的。
这种在角色生成期间接受消息的场景的最佳设计模式是什么?我应该让启动等待角色生成完成,还是隐藏发送的消息并让线程继续?如果存储,请发送一些线程安全且高性能的示例存储技术
请注意,我在我的应用程序中使用了 akka-typed、java 和 spring
解决方案
基本思想是使用CompletionStage
API 链接调用来引导您的应用程序。
CompletionStage<ActorRef<Stuff>> actorRefPromise = spawnActorRef();
actorRefPromise.thenApply(actorRef -> bootStrapApp(actorRef))
由于您对引导并不太具体,我假设您需要一个ActorRef
引导您的应用程序。在上面的代码片段spawnActorRef()
中,你可以调用你的SpawnProtocol
和返回CompletionStage
,一旦 ref 可用,ActorRef
你就可以使用它来链接一个动作,并使用它传递给你的引导代码的其余部分。thenApply
推荐阅读
- react-native - 在 SDK 40 上反应本机博览会警告
- r - 比较矩阵中数据的有效方法
- python - 如何在多个选举程序中打印多个获胜者?
- apache-camel - 在 Camel 3 中使用 Jasypt 属性解析器
- vue-component - 在 vue.js 中的子组件中渲染对象数组
- javascript - 如何在 javascript firebase 存储中等待下载 url?
- linux - 在 Linux 中清理多个文件名
- mysql - 在 mysql 查询中使用 force index 子句可能有什么缺点?
- java - java - 如何删除文件中的一行,以使该行下方的内容应立即在java中紧跟该行上方的内容?
- serialization - Mapstruct 将对象字段转换为字符串 + value.toString()