SWF 基本知识 - AWS SDK for Java 1.x

自2024年7月31日起, AWS SDK for Java 1.x已进入维护模式,并将于2025年12月31日end-of-support上线。我们建议您迁移到AWS SDK for Java 2.x以继续接收新功能、可用性改进和安全更新。

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

SWF 基本知识

这些是通过 Amazon SWF 使用AWS SDK for Java的一般模式。这意味着它主要用于参考。有关更完整的介绍性教程,请参阅构建简单 Amazon SWF 应用程序

附属物

基本 Amazon SWF 应用程序将需要AWS SDK for Java附带的以下依赖项:

  • aws-java-sdk-1.12.*.jar

  • commons-logging-1.2.*.jar

  • httpclient-4.3.*.jar

  • httpcore-4.3.*.jar

  • jackson-annotations-2.12.*.jar

  • jackson-core-2.12.*.jar

  • jackson-databind-2.12.*.jar

  • joda-time-2.8.*.jar

注意

虽然这些程序包的版本号将因您拥有的 SDK 版本而异,但 SDK 附带的版本已经过兼容性测试,并且您应使用这些版本。

适用于 Java 的 AWS Flow Framework 应用程序需要其他设置 其他依赖项。有关使用框架的更多信息,请参阅《AWS Flow Framework for Java Developer Guide》。

导入

通常,您可以将以下导入用于代码开发:

import com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflowClientBuilder; import com.amazonaws.services.simpleworkflow.model.*;

不过,好的做法是仅导入您所需的类。您可能最终会在 com.amazonaws.services.simpleworkflow.model 工作区中指定特定的类:

import com.amazonaws.services.simpleworkflow.model.PollForActivityTaskRequest; import com.amazonaws.services.simpleworkflow.model.RespondActivityTaskCompletedRequest; import com.amazonaws.services.simpleworkflow.model.RespondActivityTaskFailedRequest; import com.amazonaws.services.simpleworkflow.model.TaskList;

如果您使用适用于 Java 的 AWS Flow Framework,则将从 com.amazonaws.services.simpleworkflow.flow 工作区导入类。例如:

import com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflow; import com.amazonaws.services.simpleworkflow.flow.ActivityWorker;
注意

除了AWS SDK for Java 的基本要求外,适用于 Java 的 AWS Flow Framework 还有额外要求。有关更多信息,请参阅《AWS Flow Framework for Java Developer Guide》。

使用 SWF 客户端类

您通过 Amazon SWFAmazonSimpleWorkflowClientAmazonSimpleWorkflowAsyncClient 类与 进行基本交互。二者之间的主要差异是,\*AsyncClient 类返回 Future 对象以进行并发 (异步) 编程。

AmazonSimpleWorkflowClient swf = AmazonSimpleWorkflowClientBuilder.defaultClient();