根據傳遞的消息的某些屬性,考慮一個簡單的場景,我希望它在特定的下一個階段處理並繼續。如何有條件地將消息傳遞給下一個階段(以及其他階段)?
[Source[ActionMessage]] ~> [Flow[ActionMessage, EnrichedActionMessage]]
~> (eAM: EnrichedActionMessage => eAM.actionType match {
case ActionA => eAM ~> Flow[EnrichedActionMessage, ReactionA] ~> Sink[ReactionA]
case ActionB => eAM ~> Flow[EnrichedActionMessage, ReactionB] ~> Sink[ReactionB]
case ActionC => eAM ~> Flow[EnrichedActionMessage, ReactionC] ~> Sink[ReactionC]
})
我該如何實現到階段圖階段的條件路由?
嘗試創建一個使用廣播扇出3個平行叉的流圖。然後,每個叉子都會有一個過濾器步驟,以便在進入該類型的接收器之前過濾掉該叉子的正確類型。 – cmbaxter