Class Parallel
java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.services.stepfunctions.State
software.amazon.awscdk.services.stepfunctions.Parallel
- All Implemented Interfaces:
IChainable
,INextable
,software.amazon.jsii.JsiiSerializable
,software.constructs.IConstruct
,software.constructs.IDependable
@Generated(value="jsii-pacmak/1.104.0 (build e79254c)",
date="2024-11-06T23:25:17.563Z")
@Stability(Stable)
public class Parallel
extends State
implements INextable
Define a Parallel state in the state machine.
A Parallel state can be used to run one or more state machines at the same time.
The Result of a Parallel state is an array of the results of its substatemachines.
Example:
import software.amazon.awscdk.Stack; import software.constructs.Construct; import software.amazon.awscdk.services.stepfunctions.*; public class MyJobProps { private String jobFlavor; public String getJobFlavor() { return this.jobFlavor; } public MyJobProps jobFlavor(String jobFlavor) { this.jobFlavor = jobFlavor; return this; } } public class MyJob extends StateMachineFragment { public final State startState; public final INextable[] endStates; public MyJob(Construct parent, String id, MyJobProps props) { super(parent, id); Choice choice = new Choice(this, "Choice").when(Condition.stringEquals("$.branch", "left"), new Pass(this, "Left Branch")).when(Condition.stringEquals("$.branch", "right"), new Pass(this, "Right Branch")); // ... this.startState = choice; this.endStates = choice.afterwards().getEndStates(); } } public class MyStack extends Stack { public MyStack(Construct scope, String id) { super(scope, id); // Do 3 different variants of MyJob in parallel Parallel parallel = new Parallel(this, "All jobs").branch(new MyJob(this, "Quick", new MyJobProps().jobFlavor("quick")).prefixStates()).branch(new MyJob(this, "Medium", new MyJobProps().jobFlavor("medium")).prefixStates()).branch(new MyJob(this, "Slow", new MyJobProps().jobFlavor("slow")).prefixStates()); StateMachine.Builder.create(this, "MyStateMachine") .definitionBody(DefinitionBody.fromChainable(parallel)) .build(); } }
-
Nested Class Summary
Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.amazon.awscdk.services.stepfunctions.IChainable
IChainable.Jsii$Default
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.services.stepfunctions.INextable
INextable.Jsii$Default, INextable.Jsii$Proxy
-
Constructor Summary
ModifierConstructorDescriptionprotected
Parallel
(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protected
Parallel
(software.amazon.jsii.JsiiObjectRef objRef) Parallel
(software.constructs.Construct scope, String id, ParallelProps props) -
Method Summary
Modifier and TypeMethodDescriptionaddCatch
(IChainable handler) Add a recovery handler for this state.addCatch
(IChainable handler, CatchProps props) Add a recovery handler for this state.addRetry()
Add retry configuration for this state.addRetry
(RetryProps props) Add retry configuration for this state.void
bindToGraph
(StateGraph graph) Overwrites State.bindToGraph.branch
(@NotNull IChainable... branches) Define one or more branches to run in parallel.Continuable states of this Chainable.next
(IChainable next) Continue normal execution with the given state.com.fasterxml.jackson.databind.node.ObjectNode
Return the Amazon States Language object for this state.Validate this state.Methods inherited from class software.amazon.awscdk.services.stepfunctions.State
addBranch, addChoice, addChoice, addItemProcessor, addItemProcessor, addIterator, addPrefix, filterNextables, findReachableEndStates, findReachableEndStates, findReachableStates, findReachableStates, getBranches, getComment, getDefaultChoice, getId, getInputPath, getIteration, getOutputPath, getParameters, getProcessor, getProcessorConfig, getProcessorMode, getResultPath, getResultSelector, getStartState, getStateId, getStateName, makeDefault, makeNext, prefixStates, renderBranches, renderChoices, renderInputOutput, renderItemProcessor, renderIterator, renderNextEnd, renderResultSelector, renderRetryCatch, setDefaultChoice, setIteration, setProcessor, setProcessorConfig, setProcessorMode, whenBoundToGraph
Methods inherited from class software.constructs.Construct
getNode, isConstruct, toString
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Constructor Details
-
Parallel
protected Parallel(software.amazon.jsii.JsiiObjectRef objRef) -
Parallel
protected Parallel(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
Parallel
@Stability(Stable) public Parallel(@NotNull software.constructs.Construct scope, @NotNull String id, @Nullable ParallelProps props) - Parameters:
scope
- This parameter is required.id
- Descriptive identifier for this chainable. This parameter is required.props
-
-
Parallel
@Stability(Stable) public Parallel(@NotNull software.constructs.Construct scope, @NotNull String id) - Parameters:
scope
- This parameter is required.id
- Descriptive identifier for this chainable. This parameter is required.
-
-
Method Details
-
addCatch
@Stability(Stable) @NotNull public Parallel addCatch(@NotNull IChainable handler, @Nullable CatchProps props) Add a recovery handler for this state.When a particular error occurs, execution will continue at the error handler instead of failing the state machine execution.
- Parameters:
handler
- This parameter is required.props
-
-
addCatch
Add a recovery handler for this state.When a particular error occurs, execution will continue at the error handler instead of failing the state machine execution.
- Parameters:
handler
- This parameter is required.
-
addRetry
Add retry configuration for this state.This controls if and how the execution will be retried if a particular error occurs.
- Parameters:
props
-
-
addRetry
Add retry configuration for this state.This controls if and how the execution will be retried if a particular error occurs.
-
bindToGraph
Overwrites State.bindToGraph. Adds branches to the Parallel state here so that any necessary prefixes are appended first.- Overrides:
bindToGraph
in classState
- Parameters:
graph
- This parameter is required.
-
branch
Define one or more branches to run in parallel.- Parameters:
branches
- This parameter is required.
-
next
Continue normal execution with the given state. -
toStateJson
@Stability(Stable) @NotNull public com.fasterxml.jackson.databind.node.ObjectNode toStateJson()Return the Amazon States Language object for this state.- Specified by:
toStateJson
in classState
-
validateState
Validate this state.- Overrides:
validateState
in classState
-
getEndStates
Continuable states of this Chainable.- Specified by:
getEndStates
in interfaceIChainable
- Specified by:
getEndStates
in classState
-