JBPM4之decision节点:3、程序猿|菜鸟|攻城狮|牛人
2015-05-04 10:11
513 查看
JBPM入门系列文章:
JBPM4入门——1.jbpm简要介绍
JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件
JBPM4入门——3.JBPM4开发环境的搭建
JBPM4入门——4.封装流程管理的工具类(JbpmUtil)
JBPM4入门——5.流程定义的发布、查询、删除
JBPM4入门——6.流程实例的创建和执行
JBPM4入门——7.等待节点的单条线手动执行
JBPM4入门——8.等待节点的分支执行
JBPM4入门——9.自动节点单线执行
——————————————华丽分割线————————————————
1.画流程图:decision02.jpdl.xml 并指定decision的handler class 的值:指向一个handler类
当程序走到decision这个节点后。会通过一个处理程序的类来进行业务逻辑的判断:com.test.handler.Demohandler
而不用再用三目运算符来进行复杂的判断、
如果判断条件简单(就两个条件)就直接用三目运算符
如果判断条件通过一个流程变量能判断的话也可以直接在后台中判断。
如果判断条件比较复杂的话就用handler:通过一个处理程序的类来专门做判断流程走向的处理
2.写handler类来处理该流程实例
以上handler会获取score这个流程变量的值。来进行逻辑处理的判断
3.写测试类
以上测试代码执行后:score为99、根据常理会执行到牛人的那条线
执行完后查看后台数据库表的信息:
大小: 54.5 KB
大小: 95.5 KB
大小: 109.8 KB
查看图片附件
JBPM4入门——1.jbpm简要介绍
JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件
JBPM4入门——3.JBPM4开发环境的搭建
JBPM4入门——4.封装流程管理的工具类(JbpmUtil)
JBPM4入门——5.流程定义的发布、查询、删除
JBPM4入门——6.流程实例的创建和执行
JBPM4入门——7.等待节点的单条线手动执行
JBPM4入门——8.等待节点的分支执行
JBPM4入门——9.自动节点单线执行
——————————————华丽分割线————————————————
1.画流程图:decision02.jpdl.xml 并指定decision的handler class 的值:指向一个handler类
当程序走到decision这个节点后。会通过一个处理程序的类来进行业务逻辑的判断:com.test.handler.Demohandler
而不用再用三目运算符来进行复杂的判断、
如果判断条件简单(就两个条件)就直接用三目运算符
如果判断条件通过一个流程变量能判断的话也可以直接在后台中判断。
如果判断条件比较复杂的话就用handler:通过一个处理程序的类来专门做判断流程走向的处理
2.写handler类来处理该流程实例
package com.test.handler; import org.jbpm.api.jpdl.DecisionHandler; import org.jbpm.api.model.OpenExecution; public class Demohandler implements DecisionHandler{ @Override public String decide(OpenExecution execution) { Integer score = (Integer) execution.getVariable("score"); if(score > 0 && score < 25 ){ return "to 菜鸟"; }else if(score >= 25 && score < 50){ return "to 程序猿"; }else if(score >= 50 && score < 75){ return "to 攻城狮"; }else if(score >= 75 && score < 100){ return "to 牛人"; } return null; } }
以上handler会获取score这个流程变量的值。来进行逻辑处理的判断
3.写测试类
package com.test.test; import java.util.HashMap; import java.util.Map; import com.test.util.JbpmOprations; import com.test.util.JbpmUtil; public class Decision02Test { public static void main(String[] args) { //发布流程定义 JbpmOprations.deploy("jpdl/decision02.jpdl.xml"); //放置流程变量 Map<String,Object> varMap = new HashMap<String,Object>(); varMap.put("score", 99); //启动该流程实例 JbpmUtil.getExecutionService() .startProcessInstanceByKey("decision02",varMap); } }
以上测试代码执行后:score为99、根据常理会执行到牛人的那条线
执行完后查看后台数据库表的信息:
大小: 54.5 KB
大小: 95.5 KB
大小: 109.8 KB
查看图片附件
相关文章推荐
- JBPM4之decision节点:3、程序猿|菜鸟|攻城狮|牛人
- JBPM4之decision节点:3、程序猿|菜鸟|攻城狮|牛人
- JBPM4之decision节点:3、程序猿|菜鸟|攻城狮|牛人
- 【JBPM4】判断节点decision 方法2 condition
- JBPM4之decision节点:2、好学生|坏学生|超级学生
- 【JBPM4】判断节点decision 方法3 handler
- JBPM4之decision节点:1、好学生 | 坏学生
- JBPM4之decision节点:2、好学生|坏学生|超级学生
- JBPM4之decision节点:1、好学生 | 坏学生
- JBPM4之decision节点:2、好学生|坏学生|超级学生
- 【JBPM4】判断节点decision 方法1
- JBPM4之decision节点:1、好学生 | 坏学生
- 不想做攻城狮的程序猿不是好同学
- IT公司是动物园——程序猿、攻城狮、射鸡师、产品锦鲤、西衣鸥!
- 程序猿等级与菜鸟如何成为一个高效程序员的成长之路
- JBPM具体应用之decision节点的使用
- JBPM4入门——7.等待节点的单条线手动执行
- Android优秀资源整理合集(论菜鸟到高级攻城狮)
- 菜鸟攻城狮2(JAVA开发环境)
- 跟我学JBPM4之State、Decision 、Task活动【手动控制流程流转,是一个比较好的初学资料】