JBPM5.2 重要的API
1) Knowledge Base
jBPM允许你先创建一个knowledge base。这个knowledge base应该包含你所有的流程定义,就是需要被会话执行的流程。创建一个knowledge base,先用knowledge builder来连接不同资源的流程,然后从builder创建一个新的knowledge base。
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newClassPathResource("MyProcess.bpmn"), ResourceType.BPMN2);
KnowledgeBase kbase = kbuilder.newKnowledgeBase();
2)Session
创建一个会话来和引擎结合。然后会话就能够被来启动一个流程或单独的事件。
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
ProcessInstance processInstance = ksession.startProcess("com.sample.MyProcess");
3)Event
会话提供了监听器的注册和删除的方法,一个流程事件监听器可以被用来监听和流程相关的事件,比如开始或完成一个流程,进入或离开一个节点等等。
public interface ProcessEventListener {
void beforeProcessStarted( ProcessStartedEvent event );
void afterProcessStarted( ProcessStartedEvent event );
void beforeProcessCompleted( ProcessCompletedEvent event );
void afterProcessCompleted( ProcessCompletedEvent event );
void beforeNodeTriggered( ProcessNodeTriggeredEvent event );
void afterNodeTriggered( ProcessNodeTriggeredEvent event );
void beforeNodeLeft( ProcessNodeLeftEvent event );
void afterNodeLeft( ProcessNodeLeftEvent event );
void beforeVariableChanged(ProcessVariableChangedEvent event);
void afterVariableChanged(ProcessVariableChangedEvent event);
}
流程构造细节
BPMN2.0规范定义了三种主要的节点类型:
? Events:是用来建模特定事件的发生。事件有开始事件,结束事件,中间事件。
? Activities:这些动作定义了在流程执行过程当中需要被执行的不同动作。不同类型的任务是要依赖于你正在建模的动作的类型,并且动作是可以嵌套的。
? Gateways:你能够在流程中定义多个路径。依赖gateway的类型,这可以是指示并行的执行、选择等待。

BPMN 2.0 定义的元素:
流程对象
事件
* Start Event (None, Conditional, Signal, Message, Timer)
* End Event (None, Terminate, Error, Escalation, Signal, Message, Compensation)
* Intermediate Catch Event (Signal, Timer, Conditional, Message) 立即捕获事件
* Intermediate Throw Event (None, Signal, Escalation, Message, Compensation)
* Non-interrupting Boundary Event (Escalation, Timer) 非中断边界事件
* Interrupting Boundary Event (Escalation, Error, Timer, Compensation)
活动
* Script Task (Java 、 MVEL) JAVA或MVEL脚本表达式语言
* Task
* Service Task
* User Task
* Business Rule Task
* Manual Task
* Send Task
* Receive Task
* Reusable Sub-Process (Call Activity) 可复用的子流程
* Embedded Sub-Process 嵌入的子流程
* Ad-Hoc Sub-Process 点对点的子流程
* Data-Object
关口
* 分支
* Exclusive (Java, MVEL or XPath expression language) 排斥
* Inclusive (Java, MVEL or XPath expression language) 包含
* Parallel 并行
* Event-Based
* 合并
* Exclusive 排斥
* Parallel 并行
* Lanes
数据
* Java type language
* Process properties
* Embedded Sub-Process properties
* 活动properties
连接对象
* Sequence flow 时序流
流程属性的细节
BPMN2流程图式就是使用连线将不同类型的节点链接起来。流程以下属性:
ID: 惟一
NAME: 显示名称
VERSION: 版本
Package: 命名空间
Variables: 变量,用于传递数据
Swimlanes: 泳道(专用通道),指定执行人工任务的actor
Connection Layout连接布局
Manual : 人工
Shortest path : 最短路径
分享到:
相关推荐
**jbpm5.2学习1——安装与配置** jbpm(Java Business Process Management)是一款开源的工作流管理系统,它提供了一套完整的解决方案,用于管理和执行业务流程。jbpm5.2是该系统的较早版本,但即便如此,它仍包含...
2. 仔细阅读jbPM5.2的API文档,理解每个类和接口的用途及方法。 3. 实践编程,通过编写简单的流程和任务示例加深理解。 4. 掌握jbPM的工作流生命周期,了解如何控制流程实例的执行。 5. 学习如何使用jbPM提供的工具...
2. **流程部署**:用户可以直接从Eclipse中将流程模型部署到jbPM服务器,无需离开IDE,简化了部署过程。 3. **流程实例管理**:通过插件,可以查看和控制运行中的流程实例,包括启动、暂停、继续和终止实例。 4. *...
标题中的"Spring 3.1.x + Hibernate 4.2.x + JBPM 5.2 + Ecache例子源码"代表了一个集成开发环境,其中包含了四个关键的技术组件: 1. **Spring 3.1.x**:这是一个开源的应用框架,主要用于简化Java企业级应用的...
标题 "Spring 3.1.x + Hibernate 4.2.x + JBPM 5.2 + Ecache 例子" 涉及的是一个集成多种技术的Java应用开发示例。这个项目可能是一个完整的业务流程管理系统,它整合了Spring、Hibernate、JBPM和Ecache等关键组件。...
**JBPM3学习笔记** JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了对业务流程的建模、部署、执行和监控的能力。在本文中,我们将深入探讨JBPM3的核心概念、功能和使用方法,以帮助...
【JBPM4.3 学习笔记】 JBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于设计、执行和管理业务流程。JBPM4.3是JBPM的一个重要版本,它提供了强大的流程建模、执行和服务集成能力,是...
在本文档中,主要讨论的是jbpm 4.4 版本的学习笔记。作者通过实践学习并整理了关于jbpm的一些关键概念和操作。 首先,流程图是jbpm设计流程的核心,它包含了一系列的流程元素。在提到的订购流程中,主要包括以下...
【JBPM4学习笔记】 JBPM4是一款开源的工作流管理系统,它提供了强大的流程定义和执行能力,被广泛应用于企业的业务流程自动化。本学习笔记将深入探讨JBPM4的核心特性和使用方法,帮助读者掌握如何利用它来实现高效...
工作流引擎jbpm学习笔记 jbpm是一个专业的工作流引擎,用于定义、管理和执行业务流程。它可以帮助我们简化工作流程的开发和维护,提高工作效率和可扩展性。 一、什么是公文流转? 公文流转是指公文在定义流转中的...
**JBPM4学习笔记** JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了业务流程建模、执行和监控的能力。JBPM4是该系统的一个重要版本,它引入了许多增强功能,使得开发者和业务分析师...
2 工作流的过程 7 3 Jbpm4.4介绍 7 3.1工作流引擎 8 3.2jpdl 8 3.3数据库 8 3.3.1资源库和运行时表结构 8 3.3.2历史数据库表 9 3.3.3身份认证表 9 3.4jbpm.cfg.xml 9 3.5 jbpm.hibernate.cfg.xml 10 3.6logging....
jbpm是一款免费开源的工作流引擎,虽然现在还不完善,但是用起来还是不错的..... 我学习jbpm的一些笔记心得
入门材料 jbpm-jpdl 学习笔记 jbpm-jpdl 学习笔记 jbpm-jpdl 学习笔记
**JBPM4学习笔记概述** JBPM(JBoss Business Process Management)是一款开源的工作流程管理系统,主要专注于业务流程的建模、执行和监控。JBPM4是JBPM的第四个主要版本,它提供了一整套工具和服务,使得企业能够...
【JBPM4 学习笔记】 JBPM4是Java Business Process Management(业务流程管理)的第四个主要版本,相比之前的jbpm3,它带来了许多重大改进和变化,包括内部架构的重构以及包结构的调整,这使得jbpm4在功能和易用性...
【JBPM4.3学习笔记及请假流程代码】 JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了一套完整的解决方案,用于管理和执行业务流程。JBPM4.3是该系统的其中一个版本,它包含了流程...
2. **JBPM Designer**:JBPM提供了一个集成开发环境,即JBPM Designer,它是一个基于Eclipse的插件,帮助开发者图形化地设计和编辑流程定义文件。用户可以通过界面拖拽各种流程元素,如start、end、tasknode、fork、...
jbpm学习笔记主要涵盖了jbpm(Java Business Process Management)的多个方面,包括Signavio的使用和配置、jBPM数据库的安装、Graphical Process Designer(GPD)的安装以及jBPM在Eclipse环境中的配置。以下是这些...
通过对jbpm的学习,我们可以深入理解业务流程的生命周期,包括设计、部署、执行和监控等环节。 在jbpm的学习过程中,首先会接触到的是流程建模。使用BPMN(Business Process Model and Notation)语言,jbpm允许...