`

JBPM 资料一:基本概念

阅读更多

1. JbpmConfiguration:获取jbpm的相关的配置信息

   a)JbpmConfiguration.getInstance(),载入默认设置
   b)载入指定的配置: 

Java代码 复制代码
  1. JbpmConfiguration.getInstance   (“com/blogs/jbpm.cfg.xml”);  
JbpmConfiguration.getInstance   (“com/blogs/jbpm.cfg.xml”);

     
  

2.Jbpmcontext:用来保持Hibernate,进行流程的持久化操作,主要和事务打交道

a. Jbpmcontext.getCurrentJbpmContent () 是不被推荐的方法
b. Jbpmcontext.createJbpmContext () 是轻量级的

3. org.jbpm.db.GraphSession:表示流程图所对应的数据库运作

Java代码 复制代码
  1. GraphSession gs=JbpmConfiguration.getInstance().createJbpmContext().getGraphSession()  
GraphSession gs=JbpmConfiguration.getInstance().createJbpmContext().getGraphSession()




   主要的,这个类包含了部署流程和删除流程的方法、以及获得流程定义的方法
deleteProcessInstance()、deleteProcessDefinition()、findLatestProcessDefinitions()这里的latest代表最新版本号的流程定义,相同的流程定义以版本号来区分

4. org.jbpm.graph.def.ProcessDefinition流程定义
         

Java代码 复制代码
  1. ProcessDefinition pdf=gs.findLatestProcessDefinition(“pdfName”);  
ProcessDefinition pdf=gs.findLatestProcessDefinition(“pdfName”);




5. org.jbpm.graph.exe.ProcessInstance流程实例

ProcessInstance pi=pdf.createProcessInstance();
想象一下一个订票的流程,每个客户的订票动作都会更具订票流程定义而创建一个流程实例当一个ProcessInstance被创建后,负责执行主要路径的token也被创建,zhege token就是根token(root token),根token此时位于流程定义的开始状态start state

6. org.jbpm.graph.exe.Token令牌:

一个流程实例被创建的时候一个令牌被创建。该令牌叫做这个实例的根令牌(root token),并处于这个实例的开始状态

Token.single()方法调用node leave

7. 信号(single):

命令令牌继续执行,接收到一个未命名信号时,一个令牌将通过默认的”离开流向”离开当前节点

8. org.jbpm.graph.def.Node结点

两个责任:
a.执行java代码,如创建一个任务实例,发送一个通知,更新数据库
b.结点负责传播流程,即使流程继续执行
 不传播流程,这种情况表现为一个等待状态
 执行其中一个流向,流开当前结点,executionContext.leaveNode(String)
 创建新的执行轨迹,结点可以创建新的令牌,例如分支结点
 执行轨迹的结束结点
 通常,结点可以改变流程的整个运行时结构


9.结点类型

A. 任务结点(task-node):代表由人介入的一个或多个任务,因此当流程运行到一个任务节点时,会生成一个任务实例对象(taskInstance),并添加到参与人的任务列表中,之后结点会处于等待状态,知道参与人完成任务,并激活流程继续往下执行
B. 状态结点(state):一个典型的等待状态,不向任务列表添加任务实例
C. 判定结点(decision):用来决定业务流程的走向,有两个不同的裁决模式,两者区别在谁来做
a) 流程内部变量来做判定时,使用结点(decision)
b) 由外部程序给出,建议使用多个transition或具有等待状态的结点。可以通过外部的触发器结束一个等待状态并提供一个transition的判定
D.  分支结点(fork):将单个执行流程分裂成多个并发的执行流程,默认行为是为每个子流程生成一个子流程,并建立子令牌,和主流根令牌之间的父子关系
E.  合并结点(join):将分支收拢
F.  普通结点(node):用于提供用户制定自己的行为


10 org.jbpm.context.exe.ContextInstance(Jbpm上下文)

上下文Context其实就是处理流程变量的地方,流程变量使用键值来维护流程实例相关信息,上下文必须存储到数据库中。
通过上下文实例(ContextInstance)来和流程变量打交到,通过流程实例来获得上下文实例
ContextInstance cti=(ContextInstance)processInstance.getContextInstance();

常见操作包括,设置变量获得变量,删除变量

11.图元素org.jbpm.graph.def.GraphElement

是JBPM的定义,有一个名字name,一个描述,有多个事件event,使用Map来存储,有多个例外处理器execptionhandler,使用list来存储,有一个流程定义processDefinition

12.ExecutionContext(执行环境):

这个”环境”关联了Transition、Node、Token、ProcessInstance、TaskInstance、Task等对象,通过这个“执行环境”就能取得这些对象了

13.swimlane(泳道)
Swimlane是一个描述任务接收者的特殊的对象,可以是一个用户,也可以是一个角色,可以是任何东西,只要能根据swimlane算出有哪些action

14.变量
A. 流程范围的变量:
a) 瞬时变量:通过setTransientVarible()方法来设置,不会持久到数据库
b) 普通变量:通过setVarible()和setVaribleLocal()方法保存,通过getVarible()访问,这种变量在整个流程实例中都可以访问,会保存到库中
B. 任务实例范围变量:可以执行访问实例变量,即任务实例变量相当于局部变量,仅在当前流程中可见,流程实例变量相当于全局变量,在整个流程中可见。当通过任务实例去查找一个刘恒时,如果在当前任务实例中没有找到,将到流程实例中去找

15.相关接口说明

A. ActionHandler 动作处理接口
a) 这时jpdl中最常用的一个回调接口,它仅仅暴露了流程执行上下文变量ExecutionContext,用户通过ExecutionContext来了解流程的执行状态,并通过改变ExecutionContext中的属性来影响流程的执行
B. DecitionHandler 判定处理接口
a) 判定接口只适用于判定节点decision中,从它的接口方法可以看出,方法要返回一个字符串类型的结果,这个结果必须和判定结点拥有的转向集合中的一条转向名称相匹配
C. 委派处理接口(AssignmentHandler)
委派处理接口被用户任务元素task和委派子元素中,它的职责很明确,就是将任务分配给指定的人员或者角色

16.其他

A. 对一个结点来说,从定义角度只关心两个事情
a) 是什么类型的结点
b) 结点的转入transition和转出transition
B. 两个重要机制:过度调度机制和执行机制
a) 过度机制是如何正确的从一个结点转到下一个结点。通过processInstance.singal()、taskInstance.end()
C. 我们需要从数据库查找数据时,都是使用XXXSession方法。例如,TaskMgmtInstance
和TaskMgmtSession,前者用来创建任务实例,就是创建taskInstance,后者就是从jbpm数据库中查询某个参与者拥有的任务实例。其他接口有类似的规则
D. Gpd.xml记录的是结点的位置关系

分享到:
评论

相关推荐

    jbpm3基本资料和代码总结

    **jbpm3基本资料与代码总结** jbpm(Java Business Process Management)是一个开源的工作流管理系统,专注于业务流程的建模、执行和管理。jbpm3是该系统的第三个主要版本,它提供了一整套工具和API,帮助开发者...

    完善jbpm学习资料

    总的来说,这个压缩包提供了一个系统化的jbpm学习路径:从基本概念的理解,到与其他工作流引擎的对比,再到实际开发的入门指导,最后深入到流程定义的语言规范。无论是想要了解jbpm,还是准备在项目中实施,这些资料...

    jbpm视频环境配置

    1. jbpm简介:介绍jbpm的基本概念、功能和应用场景。 2. 环境准备:详细讲解如何准备开发环境。 3. jbpm服务器配置:深入解析服务器的安装和配置过程。 4. Eclipse插件安装:演示如何在Eclipse中安装和配置jbpm插件...

    jbpm4.4文档+学习资料

    1. 基础概念:首先需要了解BPM的基本概念,如流程实例、任务、事件、信号等。 2. 工具使用:学习使用jbpm提供的图形化建模工具,创建和编辑流程模型。 3. API及编程接口:深入理解jbpm的API,如ProcessEngine、...

    JBPM流程引擎资料

    首先,文档提到了jBPM的基本概念。jBPM是一个轻量级流程引擎,它允许开发者以模块化的方式管理业务流程。文档还涉及了许可证与最终用户许可协议,引导用户在合法合规的前提下使用jBPM。它提供了对jBPM4.4版本的下载...

    JBPM案例详解(一)

    总之,【JBPM案例详解(一)】涵盖了JBPM的基本概念、流程设计、部署执行、监控和系统集成等多个方面,旨在通过一个具体的业务场景,使读者深入理解和应用JBPM这一强大的工作流管理工具。通过学习和实践,读者不仅能...

    工作流基本概念及JBPM简介

    这种模型包括基本元素如任务及其相互关系。 工作流有别于传统的面向功能的管理技术,因为它面向业务过程,描述了可由计算机系统支持运行的流程。在实际应用中,广义的工作流涵盖了所有由软件系统控制的过程,常用于...

    jBPM4.4开发指南

    ### jBPM4.4开发指南关键知识点解析 ...以上内容详细介绍了 jBPM4.4 的基本概念、特性以及如何搭建开发环境。这对于初学者来说是非常有用的参考资料,可以帮助他们快速入门并掌握 jBPM4.4 的核心知识和技术要点。

    jBPM4.4开发实例

    **一、jBPM4.4核心概念** 1. **流程定义(Process Definition)**:使用jBPM的流程定义语言(BPML或BPMN)来描述业务流程。BPML是一种XML格式,用于描述业务流程的逻辑结构,而BPMN则是一种图形化的表示方法,更...

    jbpm资料

    通过学习这些知识点,开发者不仅能理解jbpm的基本概念,还能掌握如何在实际项目中应用jbpm来实现高效、灵活的业务流程管理。此外,jbpm资料也可能包含示例代码和练习,帮助加深理解并提升动手能力。

    jbpm源码阅读之一

    描述虽然为空,但我们可以推测博主可能在文章中讨论了如何通过源码理解jbpm的核心概念,如工作流引擎的工作原理,任务调度机制,以及如何实现业务规则的编排和执行。 标签 "源码" 和 "工具" 暗示了这篇文章会深入到...

    jBPM开发资料文档合集

    总的来说,这个"jBPM开发资料文档合集"是学习和精通jbPM4的宝贵资源,无论你是想了解业务流程管理的基本概念,还是寻求实现复杂工作流解决方案的方法,都能从中受益匪浅。通过学习和实践,你可以提升自己的业务流程...

    jbpm学习资料汇总

    本资料汇总主要针对jbpm的学习,通过《JBPM学习心得(西西日志)》这份文档,我们可以深入理解jbpm的核心概念和使用方法。文档可能涵盖了以下内容: 1. **jbpm基础**:介绍jbpm的基本架构,包括工作流引擎、任务服务...

    JBPM工作原理及表结构详解

    JBPM(Java Business Process Management)是一款开源的工作流管理系统,它提供了强大的业务流程建模、执行和监控能力。本文将深入探讨JBPM的工作原理、表结构及其在实际操作中的应用。 1. **JBPM特色** - **灵活...

    JBPM学习资料step by step

    通过上述分析可以看出,这份文档是一份非常实用的JBPM学习资料,它不仅涵盖了JBPM的基本概念和安装配置,还详细介绍了如何在Eclipse环境下进行各种类型的流程建模和实际操作。对于希望深入了解并掌握JBPM的企业级...

    JBPM工作流全套学习资料

    【JBPM工作流全套学习资料】是一份详尽的学习资源,涵盖了JBPM工作流系统的基础到高级知识。JBPM(Java Business Process Management)是开源的企业级工作流管理系统,它允许开发者设计、部署和执行业务流程。这个...

    jbpm开发入门指南的例子

    本指南将带领你一步步走进jbpm的世界,了解其基本概念、开发环境搭建以及简单的流程实例。 一、jbpm基础概念 1. 流程定义(Process Definition):jbpm使用BPMN 2.0(Business Process Model and Notation)标准来...

    jbpm中文教程-详细

    建议初学者首先阅读这份文档,理解jbpm的基本概念和操作,然后通过实际项目练习,掌握jbpm的实战应用。 总结,jbpm作为企业级的业务流程管理工具,其强大之处在于它提供的完整流程生命周期管理、灵活的流程定义和...

Global site tag (gtag.js) - Google Analytics