2014-12-06 73 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