2017-03-28 7 views
0

자바에서 SWF 워크 플로 시작 클래스를 작성하고 있습니다. 이 클래스의 목적은 WorkflowClientExternalFactory를 사용하여 getClient() 호출을 한 다음 WorkflowClientExternal을 사용하여 워크 플로를 시작하는 것입니다. 여기에 기본 레이아웃입니다 : 여러 SWF 워크 플로를 시작하는 방법?

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이 String 목록을 가져와 for 루프를 사용하고, 각 루프가 클라이언트를 생성하여 init fn을 호출합니다. 또는 새로운 클래스에 메서드를 작성해야합니다.이 클래스는 List String 입력을 받아 MyWorkflowStarter에 시간 목록을 호출합니까?

방법에 대한 아이디어가 있으십니까? 고마워요!

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

Java 또는 C#입니까? 보다 구체적인 사람들에게 다가 가기 위해 올바른 언어에 태그를 지정하십시오. –

+0

자바. 이미 태그. 감사! – potbelly

답변

0

SWF의 관점에서 보면별로 중요하지 않습니다. 워크 플로를 시작하려면 목록의 각 요소에 대해 getClient() 및 client.init가 실행되어야합니다. 그러나이 코드의 위치는 당신에게 달려 있습니다.

+0

의미가 있습니다. 감사! MyWorkflowClientExternalFactory.getClient()가 5 번 호출되기 때문에 입력 목록에 5 개의 요소가 있고 5 개의 워크 플로가 필요하다고 가정하면 5 MyWorkflowClientExternal 클라이언트가 만들어집니다. 그 맞습니까? – potbelly

+0

네, 맞습니다. 각 클라이언트는 신호를 보내거나 해당 워크 플로 실행을 취소하는 데 사용할 수 있습니다. –