如何启动多个 SWF 工作流程?

How to Start Multiple SWF Workflows?

我正在 Java 中编写 SWF Workflow Starter class。 class 的目的是使用 WorkflowClientExternalFactory 执行 getClient() 调用,然后使用 WorkflowClientExternal 启动我的工作流。这是基本布局:

public class MyWorkflowStarter {
    private final MyWorkflowClientExternalFactory factory;

    public MyWorkflowStarter(MyWorkflowClientExternalFactory factory) {
        this.factory = factory;
    }

    public void startyMyWorkflow (String input) {
        final MyWorkflowClientExternal client = this.factory.getClient();
        client.init(String input);  // init() is a @Execute method in the workflow;
    }
}

现在我有一个字符串列表,我想启动一个工作流列表,每个工作流都会接受一个字符串来完成它的工作。

我的问题是:MyWorkflowStarter中的startMyWorkflow-fn class 是否接受一个String列表,并使用for循环,每个循环生成一个客户端调用init fn;或者我应该在一个新的 class 中编写一个方法,它将接收一个列表字符串输入,调用 MyWorkflowStarter 一个次数列表?

关于如何做到这一点有什么想法吗?非常感谢!

// Alternatively I could have a workflow and a list of activities, but I want the option of starting a list workflows. 

从 SWF 的角度来看,这并不重要。要启动工作流,应该为列表的每个元素执行 getClient() 和 client.init。但是这段代码的位置取决于你。