GraphDSL.create() を使用して RunnableGraph を構成しました。また、ClosedShape を指定し、すべてのアウトレット/インレットを接続しました。プログラムを実行しようとすると、次の実行時例外が発生します。
requirement failed: The inlets [] and outlets [] must correspond to the inlets [filter.in] and outlets [out]
インレットとアウトレットを正しく接続していない場所はありますか?
グラフコードは次のとおりです。
val g = RunnableGraph.fromGraph(GraphDSL.create() {
implicit builder =>
import GraphDSL.Implicits._
// Source
val A: Outlet[String] = builder.add(Source.fromIterator(() => flightDelayLines)).out
// Flows
val B: FlowShape[String, FlightEvent] = builder.add(csvToFlightEvent)
val C: FlowShape[FlightEvent, DelayRecord] = builder.add(flightEventToDelayRecord)
val D: UniformFanOutShape[DelayRecord, DelayRecord] = builder.add(Broadcast[DelayRecord](2))
val F: FlowShape[DelayRecord, (Int, Int)] = builder.add(countByCarrier)
// Sinks
val E: Inlet[Any] = builder.add(Sink.ignore).in
val G: Inlet[Any] = builder.add(Sink.ignore).in
// Graph
A ~> B ~> flightEventToDelayRecord ~> D ~> E
D ~> F ~> G
ClosedShape
}).run()