简体   繁体   English

如何启动多个SWF工作流?

[英]How to Start Multiple SWF Workflows?

I am writing a SWF Workflow Starter class in Java. 我正在用Java编写SWF Workflow Starter类。 The purpose of the class is to use a WorkflowClientExternalFactory to do a getClient() call, then use the WorkflowClientExternal to start my workflow. 该类的目的是使用WorkflowClientExternalFactory进行getClient()调用,然后使用WorkflowClientExternal启动我的工作流。 Here is the basic layout: 这是基本布局:

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;
    }
}

Now I have a list of Strings and I want to start a list of workflow, each workflow will take in a String to do its work. 现在,我有一个字符串列表,我想开始一个工作流程列表,每个工作流程都将使用一个字符串来完成其工作。

My question is: does the startMyWorkflow-fn in MyWorkflowStarter class take in a list of String, and use a for-loop, each loop generate a client to call init fn; 我的问题是:MyWorkflowStarter类中的startMyWorkflow-fn是否接收String列表,并使用for循环,每个循环都生成一个客户端来调用init fn; Or should I write a method in a new class, which will takes in a list String inputs, call MyWorkflowStarter a list of amount of times? 还是我应该在一个新类中编写一个方法,该方法将接收一个字符串输入列表,并向MyWorkflowStarter调用一个次数列表?

Any ideas on how to do this? 有关如何执行此操作的任何想法? Thanks a lot! 非常感谢!

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

From the SWF point of view it doesn't really matter. 从SWF的角度来看,这并不重要。 To start a workflow getClient() and client.init should be executed for each element of the list. 要启动工作流程,应该对列表的每个元素执行getClient()和client.init。 But where this code lives is up to you. 但是此代码的适用范围取决于您。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM