2016-12-08 14 views
1

ミスマッチストリーム: `` ` ヴァルG1 = GraphDSL.create(){暗黙のビルダー=> インポート:私は非常に単純なグラフを持って java.lang.IllegalArgumentException: requirement failed: The inlets [] and outlets [BlockOut.out] must correspond to the inlets [] and outlets [BlockOut.out] アッカは、入口と出口が、私は次のエラー取得しています

をGraphDSL.Implicits._

val in: Source[ByteString, Any] = Source.single(ByteString(digest)) 
    val flow: GraphStage[FlowShape[ByteString, ByteString]] = new ReadBlockStage(dataStore, blockingExecutionContext) 

    in ~> flow 

    SourceShape(flow.shape.out) 
} 

ヴァルsourceGraph:ソース[延ByteString、NOTUSED] = Source.fromGraph(G1) `

と私の流れは次のように定義されています: class ReadBlockStage(dataStore: DataStore, implicit val exceutionContext: ExecutionContext) extends GraphStage[FlowShape[ByteString, ByteString]] with DefaultJsonProtocol { val in = Inlet[ByteString]("DigestSpec.in") val out = Outlet[ByteString]("BlockOut.out") override val shape = FlowShape.of(in, out) ... } なぜこのエラーが発生しますか?フローの "out"ポートはOutlet [ByteString]タイプで、私のソースはSource [ByteString、NotUsed]です。エラーメッセージは、形状と予想される形状が同じように見えるため、非常に混乱します。

答えて

1

私は問題を把握しました。私は、各グラフ要素に対してbuilder.add()を実行することを忘れていました。

関連する問題