5

ソースとして 2 つのアクター、マージ ジャンクション、1 つのシンクを使用して、(Java DSL で) akka ストリーム フローを構築して実行しようとしています。

    Source<Integer, ActorRef> src1 = Source.actorRef(100, OverflowStrategy.backpressure());
    Source<Integer, ActorRef> src2 = Source.actorRef(100, OverflowStrategy.backpressure());
    Sink<Integer, BoxedUnit> sink = Flow.of(Integer.class).to(Sink.foreach(System.out::println));

    RunnableFlow<BoxedUnit> closed = FlowGraph.factory().closed(sink, (b, out) -> {
        UniformFanInShape<Integer, Integer> merge = b.graph(Merge.<Integer>create(2));
        b.from(src1).via(merge).to(out);
        b.from(src2).to(merge);
    });

    closed.run(mat);

私の質問は、ソース アクターにメッセージを送信するために、ソース アクターへの ActorRef 参照を取得するにはどうすればよいですか? アクターが 1 人の場合、グラフ ビルダーは使用せず、.run() または runWith() メソッドは ActorRef オブジェクトを返します。しかし、多くのソース アクターの場合はどうすればよいでしょうか。そのような流れを実現することは可能なのでしょうか?

4

1 に答える 1