public class POJOWorkflowDefinition extends WorkflowDefinition
Constructor and Description |
---|
POJOWorkflowDefinition(Object workflowImplmentationInstance,
com.amazonaws.services.simpleworkflow.flow.pojo.MethodConverterPair workflowImplementationMethod,
Map<String,com.amazonaws.services.simpleworkflow.flow.pojo.MethodConverterPair> signals,
com.amazonaws.services.simpleworkflow.flow.pojo.MethodConverterPair getStateMethod,
DataConverter converter,
DecisionContext context) |
Modifier and Type | Method and Description |
---|---|
Promise<String> |
execute(String input)
Asynchronous method that implements workflow business logic.
|
Object |
getImplementationInstance() |
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. |
void |
signalRecieved(String signalName,
String details)
Asynchronous method that implements signals handling logic.
|
public POJOWorkflowDefinition(Object workflowImplmentationInstance, com.amazonaws.services.simpleworkflow.flow.pojo.MethodConverterPair workflowImplementationMethod, Map<String,com.amazonaws.services.simpleworkflow.flow.pojo.MethodConverterPair> signals, com.amazonaws.services.simpleworkflow.flow.pojo.MethodConverterPair getStateMethod, DataConverter converter, DecisionContext context) throws ClassNotFoundException, SecurityException, NoSuchMethodException, NoSuchFieldException
public Promise<String> execute(String input) throws WorkflowException
WorkflowDefinition
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.execute
in class WorkflowDefinition
input
- Data passed to the worklfow instance during start instance
call.WorkflowException
- Prefer throwing WorkflowException
.public void signalRecieved(String signalName, String details) throws WorkflowException
WorkflowDefinition
TryCatchFinally
that is used to execute workflow. It means that non handled failure
inside this method causes workflow execution failure.signalRecieved
in class WorkflowDefinition
WorkflowException
public String getWorkflowState() throws WorkflowException
WorkflowDefinition
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.getWorkflowState
in class WorkflowDefinition
WorkflowException
public Object getImplementationInstance()