我一直在玩Akka Streams,并想法创建Flow
并使用FlowGraph
将它们连接在一起。
我知道Akka的这一部分仍处于开发阶段,所以有些事情可能无法完成,而其他一些部分可能会改变,但是有可能创建一个不完整的FlowGraph" - 即没有附加到Sink
- 并将其传递给我的代码的不同部分,通过向其添加流量来扩展,最后通过添加接收器来完成?
基本上,我希望能够编写FlowGraphs但不了解如何...特别是如果FlowGraph通过使用广播分割流。
由于
答案 0 :(得分:0)
下周(12月)将为我们撰写文档,所以我希望这将有助于您更轻松地进入akka流!话虽如此,这是一个快速回答:
基本上您需要PartialFlowGraph
而不是FlowGraph
。在那些我们允许使用UndefinedSink
和UndefinedSource
之后,您可以随后“附加”。在您的情况下,我们还提供了一个简单的帮助构建器来创建只有一个“缺失”接收器的图形 - 这些图形可以完全像处理源一样对待,请参见下文:
// for akka-streams 1.0-M1
val source = Source() { implicit b ⇒
// prepare an undefined sink, which can be relpaced by a proper sink afterwards
val sink = UndefinedSink[Int]
// build your processing graph
Source(1 to 10) ~> sink
// return the undefined sink which you mean to "fill in" afterwards
sink
}
// use the partial graph (source) multiple times, each time with a different sink
source.runWith(Sink.ignore)
source.runWith(Sink.foreach(x ⇒ println(x)))
希望这有帮助!