Java Amazon简单工作流和子工作流

Java Amazon简单工作流和子工作流,java,amazon-web-services,workflow,amazon,amazon-swf,Java,Amazon Web Services,Workflow,Amazon,Amazon Swf,我正在尝试使用java flow framework for AWS从amazon simple workflow service中的工作流运行childworkflow。以下是主要的工作流实现代码: package SWF.ChildWorkFlow; import org.springframework.core.annotation.Order; import com.amazonaws.services.simpleworkflow.flow.core.Promise; publi

我正在尝试使用java flow framework for AWS从amazon simple workflow service中的工作流运行childworkflow。以下是主要的工作流实现代码:

package SWF.ChildWorkFlow;

import org.springframework.core.annotation.Order;

import com.amazonaws.services.simpleworkflow.flow.core.Promise;

public class OrderWorkflowImpl implements OrderWorkflow {

    private OrderActivitiesClient client = new OrderActivitiesClientImpl();

    ProcessPaymentWorkflowClientFactory factory = new ProcessPaymentWorkflowClientFactoryImpl();

    @Override
    public void getCustomerOrder() {
        Promise<String> a = client.getOrder();


        ProcessPaymentWorkflowClient childWorkflowClient = factory.getClient("ChildWorkflow");
        childWorkflowClient.paymentProcessor(a);

    }

}

谁能帮我解决这个问题。我也无法在互联网上的AWS SWF服务中找到任何关于儿童工作流程的适当文档。提前感谢。

异常意味着WorkflowWorker(决策者)收到未配置为运行的工作流的决策任务。我猜您有两个WorkflowWorker,一个用于父工作流,另一个用于子工作流,它们共享相同的任务列表名称。由于任务列表名称相同,他们中的任何一个都可以从另一个获取任务。因此,解决方案是要么向单个WorkflowWorker注册两个工作流,要么为每个worker使用不同的任务列表。请注意,如果任务列表名称发生更改,则工作流版本应该被缓冲,因为工作流类型属性在注册后是不可变的

异常意味着WorkflowWorker(决策者)接收到未配置为运行的工作流的决策任务。我猜您有两个WorkflowWorker,一个用于父工作流,另一个用于子工作流,它们共享相同的任务列表名称。由于任务列表名称相同,他们中的任何一个都可以从另一个获取任务。因此,解决方案是要么向单个WorkflowWorker注册两个工作流,要么为每个worker使用不同的任务列表。请注意,如果任务列表名称发生更改,则工作流版本应该被缓冲,因为工作流类型属性在注册后是不可变的

异常意味着WorkflowWorker(决策者)接收到未配置为运行的工作流的决策任务。我猜您有两个WorkflowWorker,一个用于父工作流,另一个用于子工作流,它们共享相同的任务列表名称。由于任务列表名称相同,他们中的任何一个都可以从另一个获取任务。因此,解决方案是要么向单个WorkflowWorker注册两个工作流,要么为每个worker使用不同的任务列表。请注意,如果任务列表名称发生更改,则工作流版本应该被缓冲,因为工作流类型属性在注册后是不可变的

异常意味着WorkflowWorker(决策者)接收到未配置为运行的工作流的决策任务。我猜您有两个WorkflowWorker,一个用于父工作流,另一个用于子工作流,它们共享相同的任务列表名称。由于任务列表名称相同,他们中的任何一个都可以从另一个获取任务。因此,解决方案是要么向单个WorkflowWorker注册两个工作流,要么为每个worker使用不同的任务列表。请注意,如果任务列表名称发生更改,则工作流版本应该被缓冲,因为工作流类型属性在注册后是不可变的

如何向单个WorkflowWorker注册2个工作流?调用WorkflowWorker#添加WorkflowImplementationType并使用两个workflowsHow我是否向单个WorkflowWorker注册2个工作流?调用WorkflowWorker#添加WorkflowImplementationType并使用两个workflowsHow我是否向单个WorkflowWorker注册2个工作流?调用WorkflowWorker#addWorkflowImplementationType与两个workflowsHow是否向一个WorkflowWorker注册两个工作流?调用WorkflowWorker#addWorkflowImplementationType与两个工作流
Dec 08, 2014 3:11:21 PM com.amazonaws.services.simpleworkflow.flow.worker.AsyncDecisionTaskHandler createDecider
SEVERE: Received decision task for workflow type not configured with a worker: workflowType={Name: OrderWorkflow.getCustomerOrder,Version: 1.1}, taskToken=AAAAKgAAAAIAAAAAAAAAAjtd06ct8IXpzt5gbkfiKHXQbZci9kmJuSq1rKtpPVW+l+7hhLESuQDt5e3oVobCfbjEhfrRae26bnGLV3Kz2zsOUDBxpMGlFGReCBKeUc9BNGzKyOj4uiX5bPMdvez6zn8/Xfy69KTARDWvy15EsoP/4fp/9z3t4XJkzuk/Ks857gvtfNEZ1RfnlBqaqv2i9hpVBgHQXeoly0soewELhUxdOWHhYOxsGnGnM/MsEPFaXwKgzqwddXfuco7Pho0qle2xViYudOs7wcEECfi2Tgw=, workflowExecution={WorkflowId: workflow,RunId: 22fW/b5Qf+8M5AYj7S2PHY9N74LQGlouoWwszAFXH8VFI=}
Dec 08, 2014 3:11:21 PM com.amazonaws.services.simpleworkflow.flow.worker.DecisionTaskPoller pollAndProcessSingleTask
WARNING: DecisionTask failure: taskId= 9, workflowExecution={WorkflowId: workflow,RunId: 22fW/b5Qf+8M5AYj7S2PHY9N74LQGlouoWwszAFXH8VFI=}
java.lang.IllegalArgumentException: No implementation was found for {Name: OrderWorkflow.getCustomerOrder,Version: 1.1}
    at com.amazonaws.services.simpleworkflow.flow.worker.AsyncDecisionTaskHandler.createDecider(AsyncDecisionTaskHandler.java:111)
    at com.amazonaws.services.simpleworkflow.flow.worker.AsyncDecisionTaskHandler.handleDecisionTask(AsyncDecisionTaskHandler.java:49)
    at com.amazonaws.services.simpleworkflow.flow.worker.DecisionTaskPoller.pollAndProcessSingleTask(DecisionTaskPoller.java:201)
    at com.amazonaws.services.simpleworkflow.flow.worker.GenericWorker$PollServiceTask.run(GenericWorker.java:94)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Dec 08, 2014 3:11:21 PM com.amazonaws.services.simpleworkflow.flow.worker.GenericWorker uncaughtException
SEVERE: Failure in thread SWF Decider HelloWorldListParallel 1
java.lang.IllegalArgumentException: No implementation was found for {Name: OrderWorkflow.getCustomerOrder,Version: 1.1}
    at com.amazonaws.services.simpleworkflow.flow.worker.AsyncDecisionTaskHandler.createDecider(AsyncDecisionTaskHandler.java:111)
    at com.amazonaws.services.simpleworkflow.flow.worker.AsyncDecisionTaskHandler.handleDecisionTask(AsyncDecisionTaskHandler.java:49)
    at com.amazonaws.services.simpleworkflow.flow.worker.DecisionTaskPoller.pollAndProcessSingleTask(DecisionTaskPoller.java:201)
    at com.amazonaws.services.simpleworkflow.flow.worker.GenericWorker$PollServiceTask.run(GenericWorker.java:94)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)