我想在Akka Stream中创建一个带有Broadcast
和Concat
的图表,但以下代码不起作用。我想知道它为什么不起作用。
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
但实际上,没有输出任何内容。我想告诉你为什么我的代码不起作用。
答案 0 :(得分:2)
广播只有在其下游都有需求时才能工作,并且concat一次只需要一个上游(否则你想要合并等),因此广播不能播放任何内容。