我只是在使用 AWS Java SDK 中的 SES 包来发送电子邮件。我意识到这个类[AmazonSimpleEmailServiceAsyncClient][1]
有很多带有Async
标签的方法。
我只是好奇我们什么时候必须使用它,为什么以及如何使用它。我一直在环顾四周,但没有很好的资源。一些带有片段的概念性解释会很好。
我只是在使用 AWS Java SDK 中的 SES 包来发送电子邮件。我意识到这个类[AmazonSimpleEmailServiceAsyncClient][1]
有很多带有Async
标签的方法。
我只是好奇我们什么时候必须使用它,为什么以及如何使用它。我一直在环顾四周,但没有很好的资源。一些带有片段的概念性解释会很好。
这些异步方法可用于AWS SDK for Java中的大多数/所有服务,并且通常在开始时不使用,因为异步编程的复杂性略高,而仅在特定用例建议或要求时使用(因此,此答案解决了您的问题仅从概念的角度来看,不特定于Amazon SES)。
您可以在 Jason Fulghum 最近的博客文章Asynchronous Requests with the AWS SDK for Java中找到一个很好的解释:
当您使用 SDK 中的标准同步客户端之一调用操作时,您的代码会在 SDK 发送您的请求、等待服务处理它并解析响应时被阻止。 这是使用 SDK 的一种简单方法,但在某些情况下,您只想启动请求并让代码继续执行。SDK 中的异步客户端允许您完全做到这一点。启动您的请求,稍后再回来查看它们是否已完成。[强调我的]
Jason 还解释了在后台处理请求的两个最常见用例:
Jason 的帖子还链接到他关于该主题的更详细的早期文章,该文章描述了使用适用于 Java 的 AWS 开发工具包发出请求的各种同步和异步方法,并在结尾提供了一些额外信息以帮助您成功使用异步功能,请参阅异步使用适用于 Java 的 AWS 开发工具包进行编程(其他大部分相同的代码示例还包括异常处理)。