JBoss 系列八十三: jBPM 6 中 Process Variable 和 Task Variable 以及它们之间的Mapping模式

概述

jBPM 6 中 Process Variable 和 Task Variable 以及它们之间的关系如下图所示:

JBoss 系列八十三: jBPM 6 中 Process Variable 和 Task Variable 以及它们之间的Mapping模式_第1张图片

如上,Process Variable位于Process 上下文中,Task Variable 位于Task 上下文,Task Variable 被 Task WorkItem使用,Task 通过Input Mapping获取Process 上下文中的变量,Task 通过Output Mapping将自己的变量传输给Process 上下文中。本文通过一个例子说明这一映射的过程。我们本文使用到的流程如下:


如上我们定义了三个Process Variable:name,age,content,Task Input Mapping中定义三个变量:input_name,input_age,input_content,Task Output Mapping中的三个变量:output_name,output_age,output_content,接下来我们说明如何设计及定义变量映射。

设计流程

首先我们需要创建Process Variable,如下图:

JBoss 系列八十三: jBPM 6 中 Process Variable 和 Task Variable 以及它们之间的Mapping模式_第2张图片

其次我们创建Task Input Mapping,如下图:

JBoss 系列八十三: jBPM 6 中 Process Variable 和 Task Variable 以及它们之间的Mapping模式_第3张图片

最后我们定义Task Output Mapping,如下图:

JBoss 系列八十三: jBPM 6 中 Process Variable 和 Task Variable 以及它们之间的Mapping模式_第4张图片

运行流程

本示例代码位于:https://github.com/kylinsoong/jBPM-Drools-Example/tree/master/jbpm6/parameters

运行org.jbpm.demo.params.ProcessMain可以运行如上设计的流程,会有如下结果输出:

Show Variables, Before Perameter Mapping
Name: krisv
Age: 35
Content: Yearly performance evaluation

Show Variables, Input parameters in User Task
input_name -> krisv
input_age -> 35
input_content -> Yearly performance evaluation

Show Variables, After Perameter Mapping
Name: Kylin
Age: 29
Content: performance evaluation finish

同样运行org.jbpm.demo.params.ProcessTest同样可以运行如上设计的流程。

你可能感兴趣的:(jboss,jbpm,variable,variable,process,task,6)