jBPM5中的GateWay如果选择AND则表示平行执行多个Task,ParallelExecute示例演示jBPM5中如何平行执行多个Task,ParallelExecute流程如下:
上图为平行执行多个Task的流程,其中Task1.1,Task1.2,Task1.3平行执行,Task2.1,Task2.2平行执行,Task1.1,Task1.2,Task1.3后面Gateway类型选择AND,则表示当这三个任务都完成时流程继续执行。图中的所有节点都为Script Task,运行时都执行相同的Java代码如下:
System.out.println(kcontext.getNodeInstance().getNodeName() );如上代码输出当前节点的名字。
- ParallelExecute流程运行代码:
- ParallelExecute流程:
运行org.jbpm.quickstarts.parallel.ParallelExecuteStart可执行ParallelExecute流程,ParallelExecuteStart代码如下所示:
package org.jbpm.quickstarts.parallel;import org.drools.runtime.StatefulKnowledgeSession;import org.jbpm.quickstarts.QuickStartBase;public class ParallelExecuteStart extends QuickStartBase{ public void test() { StatefulKnowledgeSession ksession = createKnowledgeSession("quickstarts/parallelExecuteProcess.bpmn"); ksession.startProcess("org.jbpm.quickstarts.parallelExecuteProcess"); } public static void main(String[] args) { new ParallelExecuteStart().test(); }}ParallelExecute流程运行输出的结果如下:
Execute 3 tasks in parallelTask 1.2Task 1.1Task 1.3Execute 2 TasksTask 2.1Task 2.2