首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS SWF -工作流的返回结果

AWS SWF -工作流的返回结果
EN

Stack Overflow用户
提问于 2014-04-24 11:24:32
回答 3查看 1.3K关注 0票数 3

我已经开始学习使用简单工作流服务的amazon服务。我已经完成了eclipse的开发设置,并成功地完成了来自这里的hello工作流应用程序。

为了在web平台上使用相同的应用程序,我尝试创建AWS web项目并从servlet调用工作流方法。servlet运行时没有任何错误,输出被打印到控制台。如果我希望工作流返回打印在控制台上的字符串消息,那么需要进行哪些更改?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-24 12:40:41

亚马逊aws论坛上也有同样的问题。它们不是关于AWS简单工作流框架的明确文档。您可以检查这里

AWS执行Asynchronously,所以生成的代码返回类型是无效的。如果你愿意的话,你可以通过使用

代码语言:javascript
复制
GetWorkflowExecutionHistoryRequest historyRequest = new GetWorkflowExecutionHistoryRequest();
historyRequest.setDomain(domain);
historyRequest.setExecution(workflowExecution);
historyRequest.setReverseOrder(true);
History workflowExecutionHistory = service.getWorkflowExecutionHistory(historyRequest);

如果您想要结果,那么只需创建一个线程,当结果在方法中填充时,您将得到数据。但是这并不是连续运行线程的好方法。

票数 3
EN

Stack Overflow用户

发布于 2015-04-27 03:13:57

从工作流返回值需要执行的步骤是:

  • 让工作流声明它的返回值是包含您想要返回的类型的承诺。
  • 让工作流返回您想要返回的值的承诺(或可设置的)。
  • 让客户端检查工作流是否已关闭并使用DescribeWorkflowExecutionRequest API完成。
  • 让客户端使用GetWorkflowExecutionHistoryRequest API从工作流历史记录中获得结果。
  • 使用工作流的DataConverter将结果反序列化为所需的结果对象。

下面是应用于AWS提供的HelloWorld示例的所有这些更改的示例。下面的HelloWorld示例从工作流中返回一个值,并在客户机中打印该值。

https://github.com/aquesnel/aws-sdk-java/commit/87a80b5946f02283faecaa7436828ecd1c43921c

票数 2
EN

Stack Overflow用户

发布于 2014-04-25 00:49:00

你的用例是什么?工作流返回值通常是个坏主意(除非它是子工作流),因为工作流是异步和长时间运行的。启动它的控制台应用程序应该能够退出,而不会影响工作流的执行。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23267525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档