Ich verwende akka streams graphDSL, um ein lauffähiges Diagramm zu erstellen. Es gibt keine Kompilierungszeitfehler beim Ein-/Ausgang der Stream-Komponenten. Runtime löst folgenden Fehler aus:Fehler beim Erstellen des Diagramms: Anforderung fehlgeschlagen: Die Eingänge [] und Ausgänge [] müssen den Eingängen [in] und Ausgängen [out] entsprechen
Irgendwelche Ideen, was ich überprüfen sollte, um es laufen zu lassen?
requirement failed: The inlets [] and outlets [] must correspond to the inlets [in] and outlets [out]
at scala.Predef$.require(Predef.scala:219)
at akka.stream.Shape.requireSamePortsAs(Shape.scala:168)
at akka.stream.impl.StreamLayout$CompositeModule.replaceShape(StreamLayout.scala:390)
at akka.stream.scaladsl.GraphApply$class.create(GraphApply.scala:18)
at akka.stream.scaladsl.GraphDSL$.create(Graph.scala:813)
at com.flipkart.connekt.busybees.streams.Topology$.bootstrap(Topology.scala:109)
at com.flipkart.connekt.busybees.BusyBeesBoot$.start(BusyBeesBoot.scala:65)
at com.flipkart.connekt.boot.Boot$.delayedEndpoint$com$flipkart$connekt$boot$Boot$1(Boot.scala:39)
at com.flipkart.connekt.boot.Boot$delayedInit$body.apply(Boot.scala:13)
Die Graphstruktur:
source ~> flowRate ~> render ~> platformPartition.in
platformPartition.out(0) ~> formatIOS ~> apnsDispatcher ~> apnsEventCreator ~> merger.in(0)
platformPartition.out(1) ~> formatAndroid ~> httpDispatcher ~> gcmPoolFlow ~> rHandlerGCM ~> merger.in(1)
merger.out ~> evtCreator ~> Sink.ignore
Können Sie tatsächlich Ihre Grafik Blueprint? – manub
Ich habe die Frage mit Graphenstruktur aktualisiert. Die Parameter für Quelle/Durchfluss/Senke stimmen alle am Einlass/Auslass überein. – phantomastray
Die Typen 'render',' platformPartition', 'merger' und' evtCreator' könnten ebenfalls nützlich sein. – manub