Amazon SWF:Java activity 工作人员收到错误的任务

Amazon SWF: Java activity workers receiving wrong tasks

我从 Amazon 的基于 Java 的 HelloWorldWorkflowDistributed 示例开始,然后一点一点地添加它以实现我们想要的。我添加了第二个 activity 工作人员,但是这两个活动正在接收彼此的任务并且没有完成任何任务。任何人都可以向我指出调用两个或更多不同工作人员的工作流程的完整、有效示例吗?
例如。在 BarActivities.getName 为 运行 的控制台中出现以下错误,反之亦然:

Aug 26, 2016 2:15:24 PM com.amazonaws.services.simpleworkflow.flow.worker.SynchronousActivityTaskPoller execute
SEVERE: Failure processing activity task with taskId=10, workflowGenerationId=id_for_107, activity={Name: FooActivities.getAddress,Version: 1.0.7}, activityInstanceId=1
com.amazonaws.services.simpleworkflow.flow.ActivityFailureException: Unknown activity type: {Name: FooActivities.getAddress,Version: 1.0.7} : null
    at com.amazonaws.services.simpleworkflow.flow.worker.SynchronousActivityTaskPoller.execute(SynchronousActivityTaskPoller.java:194)
    at com.amazonaws.services.simpleworkflow.flow.worker.ActivityTaskPoller.run(ActivityTaskPoller.java:92)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Activity 名工作人员使用任务列表轮询 activity 项任务。我相信您添加了一个新工作人员而没有为其活动使用单独的任务列表。由于两个工作人员共享相同的任务列表,他们最终有时会收到他们不支持的活动的任务,这会导致 "Unknown activity type" 异常。解决方案是为每个工人使用不同的任务列表。