Eu estou tentando concat dois Fluxos e eu não sou capaz de explicar a saída do meu implementação.
val source = Source(1 to 10)
val sink = Sink.foreach(println)
val flow1 = Flow[Int].map(s => s + 1)
val flow2 = Flow[Int].map(s => s * 10)
val flowGraph = Flow.fromGraph(
GraphDSL.create() { implicit builder =>
import GraphDSL.Implicits._
val concat = builder.add(Concat[Int](2))
val broadcast = builder.add(Broadcast[Int](2))
broadcast ~> flow1 ~> concat.in(0)
broadcast ~> flow2 ~> concat.in(1)
FlowShape(broadcast.in, concat.out)
}
)
source.via(flowGraph).runWith(sink)
Espero que o seguinte resultado deste código.
2
3
4
.
.
.
11
10
20
.
.
.
100
Em vez disso, vejo apenas "2" que está sendo impresso. Você pode por favor explicar o que está errado na minha implmentation e como devo mudar o programa para obter a saída desejada.