`
xgbjmxn
  • 浏览: 270709 次
  • 性别: Icon_minigender_1
  • 来自: 新乡
社区版块
存档分类
最新评论

jbpm4 running mechanism 运行机制

    博客分类:
  • jbpm
阅读更多
1.  start a process instance 后,before doing anything :

(1)jbpm4_execution 表中: 会有一条记录,而且每个process instance只有一条记录,
表中字段ACTIVITYNAME_ 始终记录当前节点(运行到达的那个节点)的名字;
表中字段PROCDEFID_是表jbpm4_deployprop中值为“pdid”的KEY_ 字段对应的字段STRINGVAL_ 的值;
该表中的字段KEY_ 是发起该流程时设定的业务键;
表中的字段ID_(例如ask_for_leave.ask_sick_leave2)唯一地标识该流程;
字段HISACTINST_ 和表jbpm4_hist_actinst中的某条记录的字段DBID_ 值完全一样,表明该活动节点已经在活动的历史表中记录了;
字段INSTANCE_和表jbpm4_hist_procinst 中的某条记录的字段DBID_  值完全一样,表明该execution属于该instance,而且该process instance已经在历史表中记录了;

(2)jbpm4_hist_procinst 表中也会增加一条记录,可以看到它的ID_值和jbpm4_execution 表中的ID_ 值都是完全一样的(例如都是ask_for_leave.ask_sick_leave2:其中.号之前的部分ask_for_leave是流程定义文件*.jpdl.xml中的process根节点的name属性值,也是jbpm4_deployprop表中的OBJNAME_ 字段值;而.号之后的部分ask_sick_leave2是start流程时设定的业务键,也即jbpm4_execution表中的KEY_ 值)

(3)表jbpm4_hist_actinst中也会增加一条记录,表明该流程运行到此活动节点了,而且该活动已经在历史中记录了

(4)表jbpm4_task中也会增加一条记录,其字段DBVERSION_则为1(该活动虽然尚未结束:STATE_ 为open),表明


2. 关于process instance的运行

(1)流程实例的运行,以表jbpm4_hist_procinst为中心,
其它实例运行相关表(包括表jbpm4_execution、jbpm4_job、jbpm4_participation、jbpm4_swimlane、jbpm4_task、jbpm4_variable以及以jbpm4_hist_开头的表)都要直接或间接地以它为中心(即有外键指向它):
jbpm4_execution   表的主键DBID_总是等同于它的主键DBID_ 字段!!!
jbpm4_hist_actinst 表的HPROCI_ 字段指向它的主键DBID_ 字段
jbpm4_task            表的EXECUTION_ 字段指向它的主键DBID_ 字段
更有jbpm4_execution表中的ID_字段、jbpm4_hist_actinst表和jbpm4_hist_task表的EXECUTION_字段、
jbpm4_task表的EXECUTION_ID_ 字段均和它的ID_字段完全一样

(2)表  jbpm4_hist_actinst 的字段HTASK_ 指向表jbpm4_hist_task的主键DBID_


3. 关于executionId(例如ask_for_leave.ask_sick_leave2):
   executionId其实就是procInstId_(在表 : jbpm4_hist_var中 ) ,它来源于表jbpm4_hist_procinst: 当设置了业务键的时候,procInstId_就是OBJNAME_(jbpm4_deployprop中的)+“.”+业务键,如ask_for_leave.ask_sick_leave2c;当没有设置业务键时,procInstId_就是OBJNAME_(jbpm4_deployprop中的)+“.”+dbid_(表jbpm4_hist_procinst)

    executionId唯一地标识一个流程实例,它在许多表中以不同的名称存在着,值却完全一样:
jbpm4_execution      表的ID_ 字段
jbpm4_hist_procinst 表的ID_字段
jbpm4_hist_actinst    表的EXECUTION_ 字段
jbpm4_hist_task        表的EXECUTION_ 字段
jbpm4_task                表的EXECUTION_ID_ 字段

4. 关于DBVERSION_
在对应节点活动结束后,同一记录中的对应该字段均被置为1,但decision字段对应的同一记录的DBVERSION_ 字段例外

5.关于


5、实例运行相关表
包括表jbpm4_execution、jbpm4_job、jbpm4_participation、jbpm4_swimlane、jbpm4_task、jbpm4_variable以及以jbpm4_hist_开头的表。
(1)除了以jbpm4_hist_开头的表外的其它实例运行相关表:
仅仅记录当前运行到达而且尚未结束的活动,一旦该活动结束,这些表中和已经结束了的该活动的所有相关记录均被删除。
分享到:
评论

相关推荐

    jbpm4jbpm5

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

    jbpm4实例源码,可直接运行

    **jbpm4实例源码详解** ...通过研究这个jbpm4实例源码,开发者不仅可以了解jbpm4的基本概念,还能学习到如何在实际项目中部署和运行流程。这将极大地提升开发者的业务流程管理能力,使其能够高效地实现企业流程自动化。

    JBPM4 常用表结构及其说明

    ### JBPM4 常用表结构及其说明 JBPM4是JBPM(Java Business Process Model)的一个版本,主要用于提供业务流程管理的功能。它通过一组数据库表来支持工作流的执行与跟踪。本文将详细介绍JBPM4中的常用表结构及其...

    JBPM4 java源代码分包详解JBPM4

    【JBPM4 Java源代码分包详解】 JBPM4是一个流行的开源工作流管理系统,它提供了一整套用于设计、执行和管理业务流程的工具。在深入研究JBPM4的源代码时,我们可以从其包结构中了解到框架的核心功能和设计理念。 1....

    jBPM4工作流应用开发指南.pdf

    - **环境准备:** 讲述如何搭建jBPM4开发环境,包括下载jBPM4的发行包,配置开发工具和运行时环境。 - **基础概念:** 介绍工作流、BPMN(业务流程建模符号)、jBPM4中的关键术语和概念,帮助开发者建立基础知识...

    jbpm4案例源码

    开发者可以通过查看和运行这些源代码,学习如何创建用户交互界面、与jbpm4服务交互以及如何实现流程的生命周期管理。 jbpm4还支持扩展和定制,例如,你可以通过编写自定义的工作流监听器、任务监听器和事件处理器来...

    jbpm4web-JBPM4的一个web版本的Demo

    总结来说,jbpm4web是一个实用的学习工具,它使开发者能够深入了解JBPM4的运作机制,并快速上手实践。通过这个Demo,你可以掌握流程设计、执行、管理和监控的关键技术,为实际项目开发打下坚实的基础。

    jBPM4完整例子

    在"jbpm4.4_ssh2_lib.rar"文件中,包含了SSH框架和jBPM4所需的库文件,这些库文件是构建和运行项目的基础。而"jbpm_5_leave_web"可能是一个包含Web应用源代码的文件夹,其中包含了Struts2的配置文件、Java源代码、...

    JBPM4 表 详细介绍

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

    jbpm4基本jar包

    6. **监控与审计**:jbpm4提供了一套完整的监控和审计机制,可以追踪流程实例的执行情况,帮助分析流程性能和优化业务。 在【jbpm4基本jar包】中,`lib`目录下的文件通常包含以下组件: - **jbpm-flow**: 包含了...

    JBPM4 开发文档 实例 流程

    JBPM4引入了Process Virtual Machine(PVM)机制,用以替代之前的Token机制,以更灵活高效的方式管理流程执行。 总结,JBPM4提供了一套完整的工作流管理系统,包括流程设计、执行、监控和优化等功能,通过JPdl语言...

    jBPM 4使用手记

    **jBPM 4 使用手记** jBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了全面的业务流程管理和工作流解决方案。在jBPM 4这个版本中,开发者可以利用其强大的功能来设计、执行和管理...

    jbpm4 完整的请假流程

    jbpm4是一个基于Java的...通过深入研究这个“jbpm4 完整的请假流程”,不仅可以掌握jbpm4的基本用法,还能理解业务流程管理系统的运作机制,这对于在实际工作中设计和实现复杂的企业级流程管理解决方案具有重要意义。

    JBPM4运行时错误异常总结

    在使用JBPM4的过程中,可能会遇到各种运行时错误和异常,这些异常通常是由于配置问题、依赖冲突或者代码错误导致的。下面将详细讨论在JBPM4中遇到的一些常见异常及其解决方法。 1. `org.jbpm.api.JbpmException: ...

    jBPM4工作流示例jbpmDemo

    **jbPM4工作流示例jbpmDemo**是一款基于jBPM4的工作流管理系统实例,旨在帮助用户深入了解和掌握jBPM4工作流引擎的使用方法。jBPM4是一款强大的开源工作流管理系统,它提供了流程建模、执行以及监控等功能,广泛应用...

    JBPM4 每张表对应的含义

    ### JBPM4 每张表对应的含义 JBPM(JBoss Business Process Management)是一款开源的工作流管理系统,广泛应用于各种业务流程管理场景中。JBPM4版本是该系列中的一个重要版本,其数据库设计反映了该系统的核心功能...

    jBPM4入门基础环境配置

    - **Java Development Kit (JDK)**:确保你的系统上安装了JDK 1.6或更高版本,因为jBPM4需要这个版本或以上来运行。 - **Eclipse IDE**:推荐使用Eclipse IDE,因为它有jBPM4的插件支持,可以方便地进行流程设计和...

    JBPM4表结构.doc

    在JBPM4中,数据库表结构对于系统的正常运行至关重要,它们存储了流程定义、流程实例、活动实例以及历史记录等关键信息。以下是部分核心表结构的详细说明: 1. **JBPM4_DEPLOYMENT**(流程定义表): - DBID:唯一...

    jbpm4的员工请假例子原码

    这个Web项目是完全开源的,可以通过Eclipse这样的集成开发环境来打开和运行,对于学习和理解jbpm4的工作流管理功能非常有帮助。 jbpm4是一款强大的业务流程管理系统(Business Process Management System,简称BPMS...

Global site tag (gtag.js) - Google Analytics