Source.completionStage

Send the single value of the CompletionStage when it completes and there is demand.

Source operators

Signature

Source.completionStageSource.completionStage

Description

Send the single value of the CompletionStage when it completes and there is demand. If the CompletionStage completes with null stage is completed without emitting a value. If the CompletionStage fails the stream is failed with that exception.

For the corresponding operator for the Scala standard library Future see future.

Example

Java
sourceimport akka.Done;
import akka.NotUsed;
import akka.actor.typed.ActorSystem;
import akka.stream.javadsl.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;

CompletionStage<Integer> stage = CompletableFuture.completedFuture(10);

Source<Integer, NotUsed> source = Source.completionStage(stage);

Sink<Integer, CompletionStage<Done>> sink = Sink.foreach(i -> System.out.println(i.toString()));

source.runWith(sink, system); // 10

Reactive Streams semantics

emits the future completes

completes after the future has completed

Found an error in this documentation? The source code for this page can be found here. Please feel free to edit and contribute a pull request.