public abstract class WorkflowDefinition extends Object
Execute
to specify workflow name different from implementation class
name, different workflow version and other workflow instance registration and
execution parameters.Execute
Constructor and Description |
---|
WorkflowDefinition() |
Modifier and Type | Method and Description |
---|---|
abstract Promise<String> |
execute(String input)
Asynchronous method that implements workflow business logic.
|
abstract String |
getWorkflowState()
Return state that is inserted decision completion through
RespondDecisionTaskCompletedRequest.setExecutionContext(String)
and later can be retrieved through
AmazonSimpleWorkflow.describeWorkflowExecution(com.amazonaws.services.simpleworkflow.model.DescribeWorkflowExecutionRequest)
visibility call. |
abstract void |
signalRecieved(String signalName,
String input)
Asynchronous method that implements signals handling logic.
|
public abstract Promise<String> execute(String input) throws WorkflowException
TryCatchFinally
. Workflow is
completed when TryCatchFinally.doFinally()
is executed. So even
if return Promise
of the method is ready but there is some
asynchronous task or activity still not completed workflow is not going
to complete.input
- Data passed to the worklfow instance during start instance
call.WorkflowException
- Prefer throwing WorkflowException
.public abstract void signalRecieved(String signalName, String input) throws WorkflowException
TryCatchFinally
that is used to execute workflow. It means that non handled failure
inside this method causes workflow execution failure.Exception
- Prefer throwing WorkflowException
.Exception
WorkflowException
public abstract String getWorkflowState() throws WorkflowException
RespondDecisionTaskCompletedRequest.setExecutionContext(String)
and later can be retrieved through
AmazonSimpleWorkflow.describeWorkflowExecution(com.amazonaws.services.simpleworkflow.model.DescribeWorkflowExecutionRequest)
visibility call.
Implementation of this call is expected to be synchronous and is not
allowed to invoke any asynchronous operations like creation of new
Task
or calling methods marked with Asynchronous
annotation. It is also expected to be read only operation which is not
allowed to modify state of workflow in any way.WorkflowException
Copyright © 2013 Amazon Web Services, Inc. All Rights Reserved.