我试图学习akka流使用akka类型的文档是有点抽象,当谈到akka类型
Sink.actorRefWithBackpressure示例非常简单易懂,因为ActorSink.actorRefWithBackpressure示例是抽象,
在第一个示例中,我们有AckingReceiver
actor,它执行所需的工作,但在第二个示例中
没有case类的实现,因为它在AckingReceiver
中
val actor: ActorRef[Protocol] = targetActor()
我已经看到这个代码的一些地方,但我无法理解它以及
def targetActor(): ActorRef[Protocol] = ???
我们如何提供目标角色的实现来处理case类,如有任何帮助将不胜感激
1条答案
按热度按时间agxfikkp1#
ActorRef[Protocol]
是一个类型化的参与者,在类型化的ActorSystem
之外获得一个ActorRef
比在经典的ActorSystem
中要复杂得多,这可能就是为什么文档中省略了它(因为它对解释如何使用ActorSink.actorRefWithBackpressure
并不重要)。通常,您将设置一个键入的
ActorSystem
,并向ActorSystem
请求一个ActorRef
:这可能显示了经典和类型化之间两个最大的实际差异,但可能并不明显:
ActorSystem
是一个参与者(在本例中,实际上有可能将ActorRef[Protocol]
作为ActorSystem
,尽管您实际上不太可能希望这样做)