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

原创 2014年01月10日 09:15:11

概述

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


如上,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,如下图:


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


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


运行流程

本示例代码位于: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同样可以运行如上设计的流程。

相关文章推荐

一步一步学JBPM(6)——AssignmentHandler获取流程相关信息

在使用流程的时候,很多时候我们需要在流程的执行过程中获取流程的当前信息,比如任务信息,流程定义信息,流程实例信息等。然后根据这些信息采取相关的操作。我们主动的去做这些操作是非常不方便的。我像大家介绍两...
  • lsh6688
  • lsh6688
  • 2012年09月28日 17:21
  • 6261

Activiti进阶(四)——流程变量的设置和获取

流程变量在整个工作流中扮演很重要的作用。例如:请假流程中有请假天数、请假原因等一些参数都为流程变量的范围。流程变量的作用域范围是只对应一个流程实例。也就是说各个流程实例的流程变量是不相互影响的。这篇博...
  • zjx86320
  • zjx86320
  • 2015年12月18日 18:55
  • 17329

JBoss 系列四十五:jBPM5示例之 Global Variable

RiskyAccount是一较复杂的流程,通过drools规则判断账户是否为危险账户,如果账户中的额度小于0则该账户为危险账户,RiskyAccount示例主要目的包括: 演示流程嵌套,主流程运行子...

JBoss 系列三十九:jBPM5示例之 Multiple Instance Sub-Process

如图,在主流程启动时我们传入一个队列,队列中包括一系列整数,子流程运行每次判断队列中的整数能否被2整除(奇数),如果不能被则将相应的整数添加到错误列表,注意,子流程运行的次数等于队列的大小。流程运行结...

JBoss 系列三十八:jBPM5示例之 Reusable Sub-Process

Reusable Sub-Process

JBoss 系列六十一:深入理解 jBPM Human Task - I

概述 Human Task 是BPM流程中的节点必需通过人为的手动操作才能够执行。jBPM 5 通过 User Task(jBPM5示例之 User Task) 节点来支持Human Task。Hum...

JBoss 系列四十七:jBPM5示例之 User Task

概述 jBPM5的 User Task是指节点必须有人的参与后才能够完成,是BPM重要特新的体现,User Task必须使用数据库存储流程运行时数据,如下为我们本文中使用到的流程示意: 为了方便数据...

JBoss 系列五十八:jBPM Human Task 源代码分析 - I

概述 本文基于jBPM 5.2.x分析jBPM 5jbpm-human-task 部分源代码,我们之所以选择jBPM 5.2.x是由于jBPM 5.2.x是有对应企业版本的BRMS,该代码是被Red ...

JBoss 系列七十九: jBPM 6 示例之 evaluation

概述 jBPM Evaluation 示例具有悠久的历史,也是传统的jBPM示例,jBPM首页(http://www.jboss.org/jbpm)就有Evaluation 示例的介绍,jBPM默认安...

JBoss 系列九十九:Rest WebService jBPM 6 集成示例

概述jBPM 6 提供 Rest API 供第三方应用整合使用 jBPM 6,本文演示如果通过 Rest API:启动流程获取流程实例信息启动 User Task完成 User Task jBPM 6...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JBoss 系列八十三: jBPM 6 中 Process Variable 和 Task Variable 以及它们之间的Mapping模式
举报原因:
原因补充:

(最多只允许输入30个字)