37.4. 使用方法


37.4.1. SWF Workflow Producer 评估的消息标头

工作流制作者允许与工作流交互。它可以启动新的工作流执行、查询其状态、向正在运行的工作流发送信号,或者终止和取消它。

标头类型描述

CamelSWFOperation

字符串

对工作流执行的操作。支持的操作有:
SIGNAL, CANCEL, TERMINATE, GET_STATE, START, DESCRIBE, GET_HISTORY。

CamelSWFWorkflowId

字符串

要使用的工作流 ID。

CamelAwsDdbKeyCamelSWFRunId

字符串

要使用的 worfklow run ID。

CamelSWFStateResultType

字符串

查询工作流状态时的结果类型。

CamelSWFEventName

字符串

要使用的工作流或活动事件名称。

CamelSWFVersion

字符串

要使用的工作流或活动事件版本。

CamelSWFReason

字符串

终止工作流的原因。

CamelSWFDetails

字符串

终止工作流的详情。

CamelSWFChildPolicy

字符串

终止工作流时在子工作流中使用的策略。

37.4.2. SWF Workflow Producer 设置的消息标头

标头类型描述

CamelSWFWorkflowId

字符串

使用或新生成的 worfklow ID。

CamelAwsDdbKeyCamelSWFRunId

字符串

使用或生成的 worfklow run ID。

37.4.3. SWF Workflow Consumer 设置的消息标头

工作流消费者代表工作流逻辑。当它启动时,它将开始轮询工作流决策任务并进行处理。除了处理决策任务外,工作流消费者路由也会收到信号(从工作流制作者发送)或状态查询。工作流消费者的主要目的是利用活动制作者调度活动任务。实际上的活动任务只能从由工作流消费者启动的线程调度。

标头类型描述

CamelSWFAction

字符串

指明什么是当前事件:CamelSWFActionExecute, CamelSWFSignalReceivedAction 或 CamelSWFGetStateAction。

CamelSWFWorkflowReplaying

布尔值

指明当前的决策任务是重播任务。

CamelSWFWorkflowStartTime

long

此决策任务的开始事件时间。

37.4.4. SWF Activity Producer 设置的消息标头

活动制作者允许调度活动任务。活动制作者只能从工作流消费者开始的线程使用,它可以处理由工作流消费者启动的同步交换。

标头类型描述

CamelSWFEventName

字符串

要调度的活动名称。

CamelSWFVersion

字符串

要调度的活动版本。

37.4.5. SWF Activity Consumer 设置的消息标头

标头类型描述

CamelSWFTaskToken

字符串

为手动完成的任务完成报告任务完成所需的任务令牌。

37.4.6. 高级 amazonSWClient 配置

如果您需要对 AmazonSimpleWorkflowClient 实例配置进行更多控制,您可以创建自己的实例并从 URI 引用它:

#client 指的是 Registry 中的 AmazonSimpleWorkflowClient。

例如,如果您的 Camel 应用程序在防火墙后面运行:

AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("http://myProxyHost");
clientConfiguration.setProxyPort(8080);

AmazonSimpleWorkflowClient client = new AmazonSimpleWorkflowClient(awsCredentials, clientConfiguration);

registry.bind("client", client);
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.