`

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

 
阅读更多

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类来处理该流程实例

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
分享到:
评论

相关推荐

    jbpm jbpm4.3.jar

    jbpm jbpm4.3.jar DDDDDDDD

    JBPM4 常用表结构及其说明

    - **特点**: 替代了JBPM3的Token机制,采用更灵活的Execution机制来追踪流程执行情况。 ##### 4. **JBPM4_PROPERTY** — 流程引擎表 - **作用**: 保存JBPM引擎的一些配置属性。 - **主要内容**: 如版本号、默认超时...

    jbpm4数据表及字段说明.doc

    JBPM4_EXECUTION表:存储流程执行的信息,包括流程实例ID、类型、节点名称、流程定义ID、是否有变量值、名称、ID、令牌状态等。 任务相关数据表 JBPM4_TASK表:存储需要人来完成的活动信息。 JBPM4_PARTICIPATION...

    jbpm数据库表结构

    - **DECISIONDELEGATION**:当节点类型为Decision时,此字段表示对应的代理类,与JBPM_DELEGATION表关联。 - **DECISIONEXPRESSION_**:当节点类型为Decision时,此字段表示决策表达式。 2. **流程实例相关的表**...

    JBPM数据库表说明 jbpm 工作流 详细到每一个字段,不要下载分

    1.12 JBPM_DECISIONCONDITION:DECISION节点判断条件表 9 1.13 JBPM_ SWINLANE:DECISION节点判断条件表 10 2 流程运行类数据库表: 10 2.1 JBPM_PROCESSINSTANCE:流程实例表 10 2.2 JBPM_TOKEN:流程TOKEN表 ...

    jbpm4jbpm5

    jbpm4jbpm5是关于jbpm流程管理框架的专题,涵盖了jbpm4和jbpm5两个主要版本。jbpm是一个开源的工作流管理系统,用于帮助开发者实现业务流程自动化。以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. *...

    JBPM4 表 详细介绍

    ### JBPM4 表结构详解 JBPM (JBoss Business Process Management) 是一款开源的工作流管理系统,被广泛应用于业务流程管理领域。JBPM4作为其一个版本,具有丰富的功能及特性,尤其在流程管理和任务分配方面表现突出...

    JBPM4之State、Decision 、Task活动.doc

    JBPM4 之 State、Decision、Task 活动详解 JBPM4 是一种业务流程管理系统,用于自动化和管理复杂的业务流程。在 JBPM4 中,有三种基本活动:State、Decision 和 Task,这三种活动是构建复杂业务流程的基础。本文将...

    JBPM数据库表关系

    JBPM(JBoss Business Process Management)是一款开源的工作流管理系统,它提供了对企业业务流程的建模、部署、监控和管理等功能。了解JBPM数据库表的关系对于有效使用和维护JBPM系统至关重要。以下将详细阐述这些...

    jbpm4基本jar包

    jbpm4是一个开源的工作流程管理框架,它提供了强大的业务流程建模、执行和监控能力,使得开发人员可以轻松地集成业务逻辑和工作流程到应用程序中。这个基本jar包包含了jbpm4运行所需的关键库文件,是搭建和运行jbpm4...

    JBPM4.4所需要的包.rar

    标题中的"JBPM4.4所需要的包.rar"表明这是一个与JBPM 4.4版本相关的压缩文件,包含了一些必要的库和组件。JBPM(Java Business Process Management)是一个开源的工作流和业务流程管理系统,用于设计、执行和管理...

    JBPM采购申请系统——08_JBPM流程节点.7z

    JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...

    jbpm表结构及字段说明

    3. **JBPM_TRANSITION**: 描述流程中的转移或路径,连接不同节点。关联字段包括: - **FK_TRANSITION_FROM**: 转移的起点。 - **FK_TRANSITION_TO**: 转移的终点。 4. **JBPM_EVENT**: 事件表,记录流程中的触发...

    JBPM4 开发文档 实例 流程

    **JBPM4 开发文档详解** JBPM4(Java Business Process Management 4)是一个轻量级的开源工作流管理系统,基于J2EE架构,旨在帮助开发者实现复杂的业务流程自动化。该项目于2004年10月18日发布2.0版本,并随后成为...

    jbpm4之HelloWorld实例

    【jbpm4之HelloWorld实例】是一个初学者入门教程,主要介绍了如何在Java环境中使用jbpm4(Business Process Management Suite 4)框架构建一个简单的"Hello World"流程应用。jbpm4是一个开源的工作流和业务流程管理...

    JBPM数据库分析文档.pdf

    JBPM(Java Business Process Management)是一个开源的工作流和业务流程管理系统,用于设计、执行和管理业务流程。在JBPM数据库中,有多个关键的表来存储流程相关的数据,包括流程定义、节点、迁移、动作和事件等。...

    jBPM4完整例子

    3. **流程建模**:使用jBPM4的流程建模工具,如eclipse的jbpm plugin,创建请假流程模型,定义各个活动(如申请、审批等)及它们之间的流转规则。 4. **部署流程**:将建好的流程模型部署到jBPM4的工作流引擎中,使...

    JBPM工作原理及表结构详解

    - **JBPM4_ID_GROUP**,**JBPM4_ID_MEMBERSHIP**,**JBPM4_ID_USER**:身份认证相关表,管理用户、组和成员关系。 - **JBPM4_JOB**:定时任务表,用于调度未立即执行的操作。 - **JBPM4_LOB**:存储大型对象,如...

    JBPM数据表之间的关系

    JBPM(JBoss Business Process Management)是一个开源的工作流和业务流程管理系统,用于设计、执行、监控和优化企业的业务流程。了解JBPM数据表之间的关系对于深入理解和开发基于JBPM的应用至关重要。以下是对JBPM...

Global site tag (gtag.js) - Google Analytics