Interface AggregateCompletionStage<R>
public interface AggregateCompletionStage<R>
Aggregation of multiple
CompletionStage
instances where their count is not known or when a large amount
of stages are required, as it uses less memory foot print per stage.
This stage allows for multiple CompletionStages to be registered via dependsOn(CompletionStage)
. This
AggregateCompletionStage will not complete until it is frozen via freeze()
and all of the registered
CompletionStages complete. If one of the stages that is being depended upon completes with an exception
this AggregateCompletionStage will complete with the same Throwable cause after all stages are complete.
-
Method Summary
Modifier and TypeMethodDescriptiondependsOn
(CompletionStage<?> stage) Adds another CompletionStage for this stage to be reliant upon.freeze()
Marks this composed stage as frozen, allowing it to complete when all stages it depends on complete
-
Method Details
-
dependsOn
Adds another CompletionStage for this stage to be reliant upon.If this CombinedCompletionStage is frozen, it will throw an
IllegalStateException
- Parameters:
stage
- stage to depend on- Returns:
- this stage
-
freeze
CompletionStage<R> freeze()Marks this composed stage as frozen, allowing it to complete when all stages it depends on complete- Returns:
- this stage
-