JBPM入门系列文章:

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

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

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

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

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

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

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

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

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

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


 以上流程图有三种情况:这样的话我们就不能用之前的三目运算符的方式来做判断了。

现在我们使用decision节点本身的expr属性来做判断!!

流程图的Expression的表达式

注意:如果修改了流程图的话需要重新发布一下该流程图。让它自动寻找最新版本

后台测试代码如下:

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"); Integer score = 44; //流程变量:一般是一个map<String,Object>
Map<String,Object> varMap = new HashMap<String,Object>();
//使用decision的expr属性来做判断的话。本身就是一个流程判断
if(score<60 && score > 0){
varMap.put("tname", "to state2");
}else if(score > 60 && score < 100){
varMap.put("tname", "to state1");
}else{
varMap.put("tname", "to supper student");
} //启动该流程实例:并绑定流程局部变量varMap
JbpmUtil.getExecutionService()
.startProcessInstanceByKey("decision01", varMap);
}
}

以上代码已经设置了score的值为44.按道理的话会走坏学生的那条线。

执行完以上代码后。查看后台数据库表中的值

  • 大小: 42.2 KB
  • 大小: 72.5 KB
  • 大小: 71.4 KB
  • 大小: 72.7 KB

JBPM4之decision节点:2、好学生|坏学生|超级学生的更多相关文章

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

    JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件 JBPM4入门——3.JBPM4开发环境的搭建 JBPM4入门—— ...

  2. JBPM4之decision节点:3、程序猿|菜鸟|攻城狮|牛人

    JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件 JBPM4入门——3.JBPM4开发环境的搭建 JBPM4入门—— ...

  3. jbpm系列之五--使用decision节点判断分支情况

    我们在用JBPM做流程的时候,很多时候会遇到需要判断的节点.类似java中的switch,根据不同的状态,跳转到不同的节点. 首先我们定义一个流程信息,jpdl流程图如下 明显的可以看到,在此种情况下 ...

  4. JBPM具体应用之decision节点的使用

    JBPM工作流引擎为我们提供了许多的节点应用,每一个节点都有其不同的作用,其中有四个比较常用的节点,他们分别decision,fork,state和task.在本文中我们先介绍decision节点,余 ...

  5. 【JBPM4】判断节点decision 方法3 handler

    JPDL <?xml version="1.0" encoding="UTF-8"?> <process key="decision ...

  6. 【JBPM4】判断节点decision 方法2 condition

    运用condition计算并判断. JPDL <?xml version="1.0" encoding="UTF-8"?> <process ...

  7. 【JBPM4】判断节点decision 方法1

    JPDL <?xml version="1.0" encoding="UTF-8"?> <process key="decision ...

  8. 【JBPM4】任务节点-任务分配candidate-groups

    此分组的意思是,该任务节点为多个人员,当其中之一完成后,流程就进入下一个节点. JPDL <?xml version="1.0" encoding="UTF-8&q ...

  9. 【JBPM4】任务节点-任务分配swimlane

    swimlane泳道,几个任务受理人相同的任务节点,可以划分为一个泳道 JPDL <?xml version="1.0" encoding="UTF-8" ...

随机推荐

  1. WebSocket 是什么原理?为什么可以实现持久连接

    你可以把 WebSocket 看成是 HTTP 协议为了支持长连接所打的一个大补丁,它和 HTTP 有一些共性,是为了解决 HTTP 本身无法解决的某些问题而做出的一个改良设计.在以前 HTTP 协议 ...

  2. JDK安装(windows/linux)

    双击安装...安装之后需要进行一些相关的配置工作...下面是我自己总结的安装和配置步骤: (1)非Win7系统 第一步:安装jdk,下载地址:http://www.oracle.com/technet ...

  3. lintcode:寻找旋转排序数组中的最小值 II

    寻找旋转排序数组中的最小值 II 假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2). 你需要找到其中最小的元素. 数组中可能存在重复的元 ...

  4. ios开发--编码格式

    1.url编码 ios中http请求遇到汉字的时候,需要转化成UTF-8,用到的方法是: NSString * encodingString = [urlString stringByAddingPe ...

  5. push与concat

    push push()方法将一个或多个元素添加到数组的末尾,并且返回新的数组长度. 语法: arr.push(element1, ..., elementN) concat concat() 方法用于 ...

  6. iOS LLDB调试器和断点调试

    技巧一:运行时修改变量的值 你以前怎么验证是不是某个变量的值导致整段程序不能正常工作?修改代码中的变量的值,然后cmd+r重新启动app?现在你不需要这么做了,只需要设置一个断点,当程序在这进入调试模 ...

  7. Eclipse中user library包管理

    1.整理jar 2.将整理出的jar包在Eclipse中分别设置为用户librarywindow -> preferences -> java -> build path -> ...

  8. java实现附件预览(openoffice+swftools+flexpaper)

    先附上本人参考的文章,基于的 flexpaper版本 为 1.5,本人由于使用的是 2.1.9 ,故之后说明: 已经支持加载中文文件名 代码下载 1.概述 主要原理 1.通过第三方工具openoffi ...

  9. linux系统执行多条命令,linux系统执行复合命令

    在操作linux系统的时候,你是否遇到过打开一个目录,然后查看一个文件里面的内容. 我们可以使用命令   cd + 目录     cat + 文件名,我们需要输入两次,点击两次 enter   有没有 ...

  10. [原]poj-2488-water-DFS

    题目大意: 输入一个p*q的棋盘, 行用数字表示, 列用大写字母表示 , 1 <= p*q <= 26, 输出能够把棋盘全部空格走完且每个空格只走一次的字典序最小的路径.不存在则输出“im ...