AWS Flow Framework 基本概念:应用程序和工作流执行之间的数据交换 - AWS Flow Framework 适用于 Java

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS Flow Framework 基本概念:应用程序和工作流执行之间的数据交换

工作流程入口点方法可能具有一个或多个参数,这允许工作流程启动程序将初始数据传递给工作流程。要在执行期间为工作流程提供额外数据,这也是非常有用的。例如,如果客户更改其送货地址,您可以通知订单处理工作流程,以便它可以进行相应的更改。

Amazon SWF 允许工作流实现信号方法,这允许应用程序(如工作流启动程序)随时将数据传递给工作流。信号方法可能具有任何方便的名称和参数。您可以将其包含在工作流程接口定义中,并将 @Signal 注释应用于方法声明以将其指定为信号方法。

以下示例显示一个声明信号方法 changeOrder 的订单处理工作流程接口,这允许工作流程启动程序在工作流程启动后更改原始订单。

@Workflow @WorkflowRegistrationOptions(defaultExecutionStartToCloseTimeoutSeconds = 300) public interface WaitForSignalWorkflow { @Execute(version = "1.0") public void placeOrder(int amount); @Signal public void changeOrder(int amount); }

该框架的注释处理器创建一个具有与信号方法相同的名称的工作流程客户端方法,并且工作流程启动程序调用该客户端方法以将数据传递给工作流程。有关示例,请参阅 AWS Flow Framework Recipes