【问题标题】:How can I get an ActorRef of a Source? [duplicate]如何获取 Source 的 ActorRef? [复制]
【发布时间】:2018-05-11 14:36:40
【问题描述】:

假设我有一个来源:

val source = Source(List(1,2,3))

如何像演员一样向消息来源发送消息?

sourceActor ! 4

【问题讨论】:

    标签: scala akka akka-stream


    【解决方案1】:

    你不能像这样使用简单的基于集合的源。你需要另一个像Source.actorRefSource.queue。请记住,使用Source.actorRef 不会给您带来背压,并且通过网络远程发送的消息可能会丢失(由于参与者通信的最多一次传递语义)。

    另外,在 Akka 文档中有关于集成演员的 an entire section

    【讨论】:

    • 我没有给你投反对票。也很抱歉,如果您发现我的信息不足,但我假设您熟悉 akka.stream 的工作原理。每个来源都需要在某些上下文中具体化 - 没有它是无用的。完成后,它将返回一个具体化的值,即Source.actorRef 是该源的ActorRef 表示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    • 1970-01-01
    • 2015-08-27
    • 2014-11-15
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多