2014-12-06 54 views
1

我一直在玩Akka Streams,并得到创建Flow s并使用FlowGraph s将它们连接在一起的想法。撰写流程图

我知道Akka的这部分还在开发中,所以有些东西可能无法完成,其他一些位可能会改变,但是可以创建一个不完整的FlowGraph - 即不附加到一个Sink - 并将其传递给我的代码的不同部分,通过添加Flow来扩展它,最后通过添加一个Sink来完成?

基本上,我希望能够编写FlowGraphs,但不知道如何...特别是如果FlowGraph已通过使用广播拆分流。

感谢

回答

0

接下来的一周(月)将文档为我们写的,所以我希望这将有助于你进入阿卡更容易流!话虽如此,这里有一个简单的答案:

基本上你需要一个PartialFlowGraph而不是FlowGraph。在那些我们允许使用UndefinedSinkUndefinedSource,然后你可以“附加”后。根据你的情况,我们也提供了一个简单的辅助工具来制作这恰好有一个“失踪”的沉图表 - 这些可以被视为完全一样,如果它是一个来源,见下图:

// 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))) 

希望这有助于!

+0

很高兴知道一些更多文档即将推出。感谢这个例子,但是如果我有2个或更多的PartialFlowGrpahs,我该如何编写它们呢? – Oli 2014-12-09 00:15:02