JBoss 系列四十四:jBPM5示例之 GateWay

jBPM5中的GateWay如果选择AND则表示平行执行多个Task,ParallelExecute示例演示jBPM5中如何平行执行多个Task,ParallelExecute流程如下:

JBoss 系列四十四:jBPM5示例之 GateWay_第1张图片

上图为平行执行多个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流程运行代码:https://github.com/kylinsoong/.../ParallelExecuteStart.java
  • ParallelExecute流程:https://github.com/kylinsoong/.../parallelExecuteProcess.bpmn

运行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 parallel
Task 1.2
Task 1.1
Task 1.3
Execute 2 Tasks
Task 2.1
Task 2.2



你可能感兴趣的:(jboss,jbpm,gateway,BPM,JBPM5)