Wie man eine Akka Streams Senke aus mehreren Dateischreibvorgängen zusammenbaut?

8

Ich versuche, einen akka-streambasierten Flow in meine Play 2.5 App zu integrieren. Die Idee ist, dass Sie ein Foto streamen können und es dann als Rohdatei, eine Thumbnail-Version und eine mit Wasserzeichen versehene Version auf die Festplatte schreiben können.

Ich habe es geschafft, dies mit einem Graphen zu erreichen, der ungefähr so ​​aussieht:

%Vor%

}

Dann verbinde ich es mit meinem Play Controller mit einem Akku wie folgt:

%Vor%

Das Problem ist, dass meine beiden verarbeiteten Dateisenken nicht vollständig sind und ich für beide verarbeitete Dateien keine Größen, aber nicht die rohe Größe bekomme. Meine Theorie ist, dass der Akkumulator nur auf einen der Ausgänge meines Fächers wartet, also wenn der Eingabestrom vollendet ist und mein byteAccumulator die komplette Datei ausspuckt, hat die Wiedergabe den materialisierten Wert von der Ausgabe, wenn die Verarbeitung beendet ist .

Meine Fragen sind also:
Bin ich damit auf dem richtigen Weg soweit mein Ansatz geht? Wie lautet das erwartete Verhalten für das Ausführen eines Diagramms? Wie kann ich alle meine Waschbecken zusammenbringen, um eine letzte Senke zu bilden?

    
Tompey 10.05.2016, 07:46
quelle

1 Antwort

7

Ok, nach ein wenig Hilfe (Andreas war auf dem richtigen Weg), habe ich diese Lösung gefunden, die den Trick macht:

%Vor%

Danach ist es ganz einfach, das von Play aus aufzurufen:

%Vor%     
Tompey 10.05.2016 17:14
quelle