Then, I want to create the mergedSource:
val mergedSource = sources match {
case List(source) => source
case manySources =>
val merge = Merge[Message]
sources.map(_ ~> merge)
merge
}
But the general type of a Source and a Merge is an Object.
Thereby I can not create the mergedSource separately from other code. I
need to do like:
def createMergedSource(sources: List[Source[Message]])(implicit builder :
FlowGraphBuilder) = {
val merge = Merge[Message]
sources.map(_ ~> merge)
merge
}
sources match {
case List(source) =>
source ~> doSomethink1 ~> doSomethink2 ~> .. ~> doSomethinkN ~> out
case manySources =>
createMergedSource(manySources) ~> doSomethink1 ~> doSomethink2 ~> ..
~> doSomethinkN ~> out
code becomes more difficult and contains the copy-paste
четверг, 13 ноября 2014 г., 14:16:12 UTC+4 пользователь √ написал:
>
> Skip the merge if you only have 1 source?
>
> On Thu, Nov 13, 2014 at 10:34 AM, Boris Lopukhov <[email protected]
> <javascript:>> wrote:
>
>> Hi everyone!
>>
>> I have one or a few databases from which I want to download and process
>> data.
>> I would like to merge all sources and work with result flow:
>>
>> val sources = config.getConfigList("database.nodes").map(createSource)
>> val merge = Merge[Message]
>> val mergedFlow = Flow[Message]
>> sources.map(_ ~> merge)
>> merge ~> mergedFlow
>>
>>
>>
>> but it does not work because Merge must have at least two incoming edge.
>> What is the cause of this constraint and how i can work around it?
>>
>> --
>> >>>>>>>>>> Read the docs: http://akka.io/docs/
>> >>>>>>>>>> Check the FAQ:
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Akka User List" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected]
>> <javascript:>.
>> Visit this group at http://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Cheers,
> √
>
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ:
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.