Broadcast和Concat不在Akka Stream工作

时间:2016-03-15 04:56:35

标签: scala akka akka-stream

我想在Akka Stream中创建一个带有BroadcastConcat的图表,但以下代码不起作用。我想知道它为什么不起作用。

  val src = Source(1 to 3)
  val sink = Sink.foreach(println)
  RunnableGraph.fromGraph(GraphDSL.create() { implicit b =>
    import GraphDSL.Implicits._
    val bcast = b.add(Broadcast[Int](2))
    val concat = b.add(Concat[Int](2))

    src  ~> bcast ~> concat ~> sink
            bcast ~> concat

    ClosedShape
  }).run()

我的预期输出是

1
2
3
1
2
3

但实际上,没有输出任何内容。我想告诉你为什么我的代码不起作用。

1 个答案:

答案 0 :(得分:2)

广播只有在其下游都有需求时才能工作,并且concat一次只需要一个上游(否则你想要合并等),因此广播不能播放任何内容。