Search code examples
javaakka-stream

Akka Stream Java - is it possible to merge unknown amount of sources into one


I have a Slick source, that produces multiple sources:

 Source myBigSource = Slick.source(slickSession, sqlQueryString,
     (SlickRow row) -> {
          return (Source)createNewSource(row, someContext);
     }
 );

How can I concatenate sources produced by createNewSource into one big source.


Solution

  • Use flatMapConcat or flatMapMerge:

    Source myBigSource = Slick.source(slickSession, sqlQueryString,
        (SlickRow row) -> {
            return (Source)createNewSource(row, someContext);
        }
    ).flatMapConcat((o) -> o);