首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Amazon SWF @Signal

Amazon SWF @Signal
EN

Stack Overflow用户
提问于 2012-10-31 04:48:26
回答 2查看 1.6K关注 0票数 1

有没有办法从Amazon SWF工作流的活动中调用@Signal函数。我希望能够通知工作流一些处理已经完成,并且它应该为该处理的子集派生一个子工作流。如何做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2012-12-01 10:57:07

这听起来像是您想告诉工作流某个部分的活动已经完成,但是您想继续运行当前的活动。如果是这种情况,那么我建议你将你的活动分成两部分,并使用第一部分的结果来告知是否需要派生子工作流。我不认为在流程框架中在活动中间向工作流发送信号是可能的。但是您可以使用原始SWF API来发送信号(在这种情况下,您需要将"Run ID“作为参数之一传递给您的activity )。

票数 2
EN

Stack Overflow用户

发布于 2013-01-04 03:56:04

生成的工作流外部客户端应用于从活动代码中发送信号。ActivityExecutionContext包含初始化它所需的所有数据:

代码语言:javascript
复制
public class MyActivitiesImpl implements MyActivities {

    private final ActivityExecutionContextProvider contextProvider = new ActivityExecutionContextProviderImpl();

    public void sendSignalBackActivity() {
        ActivityExecutionContext context = contextProvider.getActivityExecutionContext();
        AmazonSimpleWorkflow service = context.getService();
        String domain = context.getDomain();
        WorkflowExecution workflowExecution = context.getWorkflowExecution();
        MyWorkflowClientExternalFactory factory = new MyWorkflowClientExternalFactoryImpl(service, domain);
        GreeterClientExternal workflow = factory.getClient(workflowExecution);
        workflow.signalMethod();
    }
}

当外部客户端调用SignalWorkflowExecution SWF API时,它可能会由于间歇性连接问题而失败。因此,activity实现可能决定捕获并处理(可能通过重试)在这种情况下抛出的AmazonServiceException

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

https://stackoverflow.com/questions/13147359

复制
相关文章

相似问题

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