Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.Ce contenu n'est pas disponible dans la langue sélectionnée.
10.9. AWS-SWF
SWF Component Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Available as of Camel 2.13
The Simple Workflow component supports managing workflows from Amazon's Simple Workflow service.
Note
You must have a valid Amazon Web Services developer account, and be signed up to use Amazon Simple Workflow. More information are available at Amazon Simple Workflow.
URI Format Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
aws-swf://<workflow|activity>[?options]
aws-swf://<workflow|activity>[?options]
You can append query options to the URI in the following format, ?options=value&option2=value&...
URI Options Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Name
|
Default Value
|
Context
|
Description
|
---|---|---|---|
amazonSWClient
|
null
|
All |
A reference to a com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflowClient in the Registry.
|
accessKey
|
null
|
All
|
Amazon AWS Access Key.
|
secretKey
|
null
|
All
|
Amazon AWS Secret Key.
|
sWClient.XXX
|
null
|
All
|
Properties to set on AmazonSimpleWorkflowClient in use.
|
clientConfiguration.XXX
|
null
|
All
|
Properties to set on ClientConfiguration in use.
|
startWorkflowOptions.XXX
|
null
|
Workflow/Producer
|
Properties to set on useStartWorkflowOptions in use.
|
operation
|
START
|
Workflow/Producer
|
The operation to perform on the workflow. Supported operations are:
SIGNAL , CANCEL , TERMINATE , GET_STATE , START , DESCRIBE , GET_HISTORY .
|
domainName
|
null
|
All
|
The workflow domain to use.
|
activityList
|
null
|
Activity/Consumer
|
The list name to consume activities from.
|
workflowList
|
null
|
Workflow/Consumer
|
The list name to consume workflows from.
|
eventName
|
null
|
All | The workflow or activity event name to use. |
version
|
null
|
All | The workflow or activity event version to use. |
signalName
|
null
|
Workflow/Producer | The name of the signal to send to the workflow. |
childPolicy
|
null
|
Workflow/Producer | The policy to use on child workflows when terminating a workflow. |
terminationReason
|
null
|
Workflow/Producer | The reason for terminating a workflow. |
stateResultType
|
Object
|
Workflow/Producer | The type of the result when a workflow state is queried. |
terminationDetails
|
null
|
Workflow/Producer | Details for terminating a workflow. |
dataConverter
|
JsonDataConverter
|
All |
An instance of com.amazonaws.services.simpleworkflow.flow.DataConverter to use for serializing/deserializing the data.
|
activitySchedulingOptions
|
null
|
Activity/Producer |
An instance of ActivitySchedulingOptions used to specify different timeout options.
|
activityTypeExecutionOptions
|
null
|
Activity/Consumer |
An instance of ActivityTypeExecutionOptions .
|
activityTypeRegistrationOptions
|
null
|
Activity/Consumer |
An instance of ActivityTypeRegistrationOptions .
|
workflowTypeRegistrationOptions
|
null
|
Workflow/Consumer |
An instance of WorkflowTypeRegistrationOptions .
|
Note
You have to provide the amazonSWClient in the Registry or your accessKey and secretKey to access the Amazon's Simple Workflow Service.
Usage Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Message headers evaluated by the SWF Workflow Producer Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
A workflow producer allows interacting with a workflow. It can start a new workflow execution, query its state, send signals to a running workflow, or terminate and cancel it.
Header
|
Type
|
Description
|
---|---|---|
CamelSWFOperation
|
String
|
The operation to perform on the workflow. Supported operations are: SIGNAL, CANCEL, TERMINATE, GET_STATE, START, DESCRIBE, GET_HISTORY.
|
CamelSWFWorkflowId
|
String
|
A workflow ID to use.
|
CamelAwsDdbKeyCamelSWFRunId
|
String
|
A worfklow run ID to use.
|
CamelSWFStateResultType
|
String
|
The type of the result when a workflow state is queried.
|
CamelSWFEventName
|
String
|
The workflow or activity event name to use.
|
CamelSWFVersion
|
String
|
The workflow or activity event version to use.
|
CamelSWFReason
|
String
|
The reason for terminating a workflow.
|
CamelSWFDetails
|
String
|
Details for terminating a workflow.
|
CamelSWFChildPolicy
|
String
|
The policy to use on child workflows when terminating a workflow.
|
Message headers set by the SWF Workflow Producer Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Header
|
Type
|
Description
|
---|---|---|
CamelSWFWorkflowId
|
String
|
The worfklow ID used or newly generated.
|
CamelAwsDdbKeyCamelSWFRunId
|
String
|
The worfklow run ID used or generated.
|
Message headers set by the SWF Workflow Consumer Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
A workflow consumer represents the workflow logic. When it is started, it will start polling workflow decision tasks and process them. In addition to processing decision tasks, a workflow consumer route, will also receive signals (send from a workflow producer) or state queries. The primary purpose of a workflow consumer is to schedule activity tasks for execution using activity producers. Actually activity tasks can be scheduled only from a thread started by a workflow consumer.
Header
|
Type
|
Description
|
---|---|---|
CamelSWFAction
|
String
|
Indicates what type is the current event: CamelSWFActionExecute, CamelSWFSignalReceivedAction or CamelSWFGetStateAction.
|
CamelSWFWorkflowReplaying
|
boolean
|
Indicates whether the current decision task is a replay or not.
|
CamelSWFWorkflowStartTime
|
long
|
The time of the start event for this decision task.
|
Message headers set by the SWF Activity Producer Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
An activity producer allows scheduling activity tasks. An activity producer can be used only from a thread started by a workflow consumer ie, it can process synchronous exchanges started by a workflow consumer.
Header
|
Type
|
Description
|
---|---|---|
CamelSWFEventName
|
String
|
The activity name to schedule.
|
CamelSWFVersion
|
String
|
The activity version to schedule.
|
Message headers set by the SWF Activity Consumer Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Header
|
Type
|
Description
|
---|---|---|
CamelSWFTaskToken
|
String
|
The task token that is required to report task completion for manually completed tasks.
|
Advanced amazonSWClient configuration Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
If you need more control over the AmazonSimpleWorkflowClient instance configuration you can create your own instance and refer to it from the URI:
The
#client
refers to a AmazonSimpleWorkflowClient in the Registry.
For example if your Camel Application is running behind a firewall:
Dependencies Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Maven users will need to add the following dependency to their pom.xml.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-aws</artifactId> <version>${camel-version}</version> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
where
${camel-version
} must be replaced by the actual version of Camel (2.13 or higher).