JBPM入门系列文章:

JBPM4入门——1.jbpm简要介绍

JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件

JBPM4入门——3.JBPM4开发环境的搭建

JBPM4入门——4.封装流程管理的工具类(JbpmUtil)

JBPM4入门——5.流程定义的发布、查询、删除

JBPM4入门——6.流程实例的创建和执行

JBPM4入门——7.等待节点的单条线手动执行

JBPM4入门——8.等待节点的分支执行

JBPM4入门——9.自动节点单线执行

——————————————华丽分割线————————————————

JBPM4之decision节点:1、好学生 | 坏学生-LMLPHP
 以上的流程图是两种情况的一个判断。

decision:也是一个自动执行节点

decision节点的表达式:类似于三目运算符

JBPM4之decision节点:1、好学生 | 坏学生-LMLPHP
 以上表达式:我们只知道如果score大于60会沿着好学生的那条线走。如果小于60就会沿着坏学生的那条线走。。

但是我们不知道score的值:这个值就需要设置为流程局部变量

下面测试上面的流程:

package com.test.test;

import java.util.HashMap;
import java.util.Map;
import com.test.util.JbpmOprations;
import com.test.util.JbpmUtil; public class DecisionTest { public static void main(String[] args) {
//发布decision节点的流程定义
JbpmOprations.deploy("jpdl/decision01.jpdl.xml"); //流程变量:一般是一个map<String,Object>
Map<String,Object> varMap = new HashMap<String,Object>();
varMap.put("score", 23);
//启动该流程实例:并绑定流程局部变量varMap
JbpmUtil.getExecutionService()
.startProcessInstanceByKey("decision01", varMap);
}
}

运行以上代码,此时的score为23.按道理会执行坏学生那条线。

每次执行的结果不会影响上一次的结果。

查看数据库中的jbpm4_execution表

JBPM4之decision节点:1、好学生 | 坏学生-LMLPHP

  • JBPM4之decision节点:1、好学生 | 坏学生-LMLPHP
  • 大小: 33.1 KB
  • JBPM4之decision节点:1、好学生 | 坏学生-LMLPHP
  • 大小: 101.8 KB
  • JBPM4之decision节点:1、好学生 | 坏学生-LMLPHP
  • 大小: 74.8 KB
04-27 06:44