[英]AWS SWF - Return result of workflow
我已經開始通過簡單的工作流服務學習亞馬遜網絡服務。 我已經完成了Eclipse的開發設置,並從這里成功完成了hello world工作流應用程序。
為了在Web平台上使用同一應用程序,我嘗試創建AWS Web項目並從servlet調用工作流方法。 該Servlet可以正常運行,並且輸出將打印到控制台。 如果我希望工作流返回控制台上打印的字符串消息,需要進行哪些更改?
在亞馬遜AWS論壇上發布了同樣的問題。 他們還沒有關於AWS Simple Workflow Framework的明確文檔。 你可以在這里查看
AWS Workflow 異步執行,因此生成的代碼返回類型為何為空。 如果您想要的話可以通過使用獲得
GetWorkflowExecutionHistoryRequest historyRequest = new GetWorkflowExecutionHistoryRequest();
historyRequest.setDomain(domain);
historyRequest.setExecution(workflowExecution);
historyRequest.setReverseOrder(true);
History workflowExecutionHistory = service.getWorkflowExecutionHistory(historyRequest);
如果需要結果,則只需創建一個線程,當結果填充到方法中時,您將獲取數據。 但這不是連續運行線程的好方法。
您的用例是什么? 返回值的工作流通常是一個壞主意(除非它是子工作流),因為工作流是異步的並且可以長時間運行。 啟動它的控制台應用程序應該能夠退出而不影響工作流程的執行。
從工作流返回值所需執行的步驟是:
以下是適用於AWS提供的HelloWorld示例的所有這些更改的示例。 下面的HelloWorld示例從工作流返回一個值,並在客戶端中打印該值。
https://github.com/aquesnel/aws-sdk-java/commit/87a80b5946f02283faecaa7436828ecd1c43921c
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.