Java Akka演员和流

问题描述 投票:0回答:1

我从https://doc.akka.io/docs/akka/current/index.html

我有一个带有子演员的ActorSystem,并且在所有层次中创建了带有父演员的所有子演员。DeviceManager是我的父演员,设备是子演员。

我想了解akka流在actor生命周期中从哪里开始,当我们创建父actor时,流过程将开始吗?

Akka流如何与Actor生命周期相关联?

java akka akka-stream
1个回答
0
投票

Akka流如何与Actor生命周期相关联?

Akka Streams和Typed Actor API本质上是两个可以互操作并共享一些实现细节的API。使用Actor API创建的任何actor的生命周期完全独立于您正在运行的任何流。 (反之亦然。)

我想了解流在生命周期中从哪里开始,当我们创建父actor时,流过程将在何时开始?

如上所述,流是独立的。当您RunnableGraph时,流(以run表示)将“启动”。 (并不是说有几种方便的方法可以完成相同的操作,例如Source.runWithSource.runForeach等。任何带有“运行”的流方法都可能“启动”一个流。)这种“启动”称为物化,其中生成了只是流的蓝图的图(由源,流和汇组成)。

streams quickstart是开始学习的好地方。

我有带有子actor的ActorSystem,并且在层次结构中创建了带有父actor的所有子actor。 DeviceManager是我的父演员,设备是子演员。

[如果要使两者互操作,请查看Akka Streams文档的Actor Interop部分。但例如,如果您有要在Akka流中处理的IoT数据流,并且要在流的末尾将该流的元素发送到DeviceManager actor,则可以使用[ C0]。您只需在流的末尾使用该接收器,然后您的actor将收到正常的actor消息。 (如果不需要背压,则可以只使用ActorSink.actorRefWithBackpressure,但是如果使用的是Streams,则应使用背压。)

© www.soinside.com 2019 - 2024. All rights reserved.