2017-05-25 3 views
1

Ich mag würde einen Stream mit vordefinierten Nachrichten vervollständigen zählen:Akka. Wie beende ich einen Stream mit Source.actorRef?

Source.actorRef(Integer.MAX_VALUE, OverflowStrategy.fail()) 
    .limit(1) 
    .to(Sink.onComplete(System.out::println)) 
    .run(materializer); 
    .tell("Do Complete!", ActorRef.noSender()); 

Von der Grenze Methode Dokumentation:

schließt, wenn die definierte Anzahl von Elementen hat oder stromaufwärts abgeschlossen ist genommen worden,

Warum ist der Stream nicht vollständig?

Antwort

1

Das ist die Dokumentation für take, nicht limit.

Und in der Tat sollten Sie take verwenden, um Ihr Problem zu lösen.

+0

Danke, es funktioniert! –

+0

PS: im Javadoc hat die Limit-Methode die gleiche Beschreibung (http://doc.akka.io/japi/akka/current/akka/stream/javadsl/Source.html#limit-int-) –

+1

Copy-Paste-Fehler , Ich denke .. diese doc-Seite ist in der Regel zuverlässiger http://doc.akka.io/docs/akka/2.5/java/stream/stages-overview.html –

Verwandte Themen