`

jBPM(20):JbpmContext类自身属性

阅读更多

    jBPM(19):JbpmContext类构造方法需要什么 中, 我们看到一个JbpmContext的诞生需要哪些信息. 那么从它自身的属性来看,又有哪些信息? 这些信息又是从哪来的?
    第一个问题一目了然: JbpmContext类除objectFactory和services(因这两个已知出处)外, 还有两个非静态属性autoSaveProcessInstances(List类型)和jbpmConfiguration.

    先看第一个属性,即autoSaveProcessInstances, 它在addAutoSaveProcessInstance方法里赋值并加元素.那么addAutoSaveProcessInstance方法有什么 用? 跟什么特性相关? 看对它的调用都是在类似(get/load)XXXForUpdate这样的方法里. 以loadProcessInstanceForUpdate为例, 当从数据库里load一个ProcessInstance回来后, 随即便调用addAutoSaveProcessInstance(processInstance)方法,将刚load来的 ProcessInstance加到addAutoSaveProcessInstance里. 加到addAutoSaveProcessInstance里又怎样呢? 在autoSave里看到对addAutoSaveProcessInstance所存数据的遍历,autoSave是包私有的方法,它又在 JbpmContext类的close方法里调用. 再结合jBPM的文档(All the ...ForUpdate methods will automatically save the loaded objects at jbpmContext.close() )明白了: 当调用...ForUpdate方法时, JbpmContext利用addAutoSaveProcessInstance属性把从数据库里弄出来的对象存起来,再在close时自动保存/更 新,这样就不行在程序中显式地来更新了.

    那么jbpmConfiguration属性呢? JbpmContext里有一个方法getJbpmConfiguration,即可以通过JbpmContext来获得 jbpmConfiguration对象. 对其的赋值到现在为止发现一个: jbpmConfiguration类createJbpmContext方法里jbpmContext.jbpmConfiguration = this. 属性jbpmConfiguration在JbpmContext里还有什么用呢? close方法里调用jbpmConfiguration.jbpmContextClosed(this), 往下追,发现jbpmContextClosed方法里把stack里存着的jbpmContext和jbpmConfiguration对pop出来.

   从构造方法里来的objectFactory有什么用? 目前发现只有一个用处:通过getObjectFactory方法,程序可以从JbpmContext里得到ObjectFactory, 现在还没体会到得到这个ObjectFactory有什么用处.

    这样一排除, 我们发现,JbpmContext类里除上面提到跟三个属性(autoSaveProcessInstances,objectFactory和 jbpmConfiguration)相关的方法外, 其余的方法都跟services有关,也就是说那些方法的实现都在以services为基础的. 这个似乎从services名字本身也能看出来. 由于这个services属性及围绕这个属性的方法都很复杂,这里先放一下, 日后再专门来研究.

1
0
分享到:
评论

相关推荐

    jbpm jbpm4.3.jar

    jbpm jbpm4.3.jar DDDDDDDD

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

    1.6 JBPM_DELEGATION:流程代理类表(用于实例化jbpm中的action类) 6 1.7 JBPM_TASK:流程任务表 6 1.8 JBPM_TASKCONTROLLER:流程任务控制器 7 1.9 JBPM_VARIABLEACCESS:流程变量表 7 1.10 JBPM_MODULE...

    jBPM开发:配置EclipseIDE开发环境参考.pdf

    ### jBPM开发:配置EclipseIDE开发环境详解 #### 一、配置开发工具 **1. 安装 Eclipse Designer到 Myeclipse6** - **步骤**: - 将`jbpm-jpdl-suite-3.2.3/designer/eclipse/plugins`目录下的所有文件及文件夹...

    jBPM开发:配置EclipseIDE开发环境.pdf

    从给定的文件信息中可以提取到一系列与配置Eclipse集成开发环境(IDE)以进行jBPM开发有关的知识点。jBPM是一个开源的业务流程管理套件(Business Process Management Suite, BPM Suite),它可以帮助开发者实现业务...

    JBPM4.4所需要的包.rar

    开发者或系统管理员可以通过将这些库添加到他们的项目类路径中,来搭建一个能运行JBPM流程的环境。在实际使用中,他们还需要数据库支持(如MySQL、Oracle等)以及配置文件来存储流程实例和相关数据。 JBPM允许通过...

    JBPM采购申请系统——04_JbpmContext上下文对象.7z

    JBPM采购申请系统——04_JbpmContext上下文对象.7z JBPM采购申请系统——04_JbpmContext上下文对象.7z JBPM采购申请系统——04_JbpmContext上下文对象.7z JBPM采购申请系统——04_JbpmContext上下文对象.7z JBPM采购...

    【转载 见附件】纵观jBPM:从jBPM3到jBPM5以及Activiti5

    "【转载 见附件】纵观jBPM:从jBPM3到jBPM5以及Activiti5" 这个标题表明这是一个关于jBPM发展历程的综合分析,涵盖了从jBPM3到jBPM5的变迁,并且提到了Activiti5,这是一款与jBPM相关的流程管理框架。标题暗示了文章...

    JBPM5+Spring+Hibernate+MySQL 请假例子

    【JBPM5】 JBPM5是Business Process Management(业务流程管理)的开源框架,它提供了对企业级工作流和业务流程的全面支持。JBPM5允许开发者定义、执行和监控复杂的业务流程,通过图形化的流程设计工具,可以方便地...

    jbpm6:将 jBPM 6 嵌入到 Java EE 应用程序中

    关于: - jBPM 6.2.0.Final:工作流引擎 - Java EE 6.0 环境 - JBoss AS 7.1.1 - JPA 2.0(jBPM 持久性依赖) - CDI 1.0(jBPM 与 CDI 集成的容器环境) - JTA 1.1(容器环境)用于 jBPM 事务)- H2 数据库(嵌入在...

    纵观jBPM:从jBPM3到jBPM5以及Activiti5.doc

    【jBPM与Activiti的发展历程】 jBPM是一个开源的业务流程管理(Business Process Management,简称BPM)框架,自jBPM3以来经历了显著的变革。jBPM3是一个早期版本,提供了基于Eclipse的流程设计器和用于监控流程...

    JBPM 工作流接口 全文档

    - **参数**:`JbpmContext jbpmContext`,用于提供对JBPM环境的访问。 - **返回值**:`List<ProcessDefinitionBean>`,包含所有流程定义的信息。 #### 方法:`getLatestProcessDefinitionsList` - **功能**:获取...

    jbpm4jbpm5

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

    JBPM工作原理及表结构详解

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

    jBPM(八): 也说jBPM + Tomcat + MySQL

    `commons-collections-3.2.jar`是Apache Commons Collections库,提供了各种集合框架的扩展,用于增强Java的内置集合类。这些库文件是jBPM运行的基础,确保了流程的执行和管理。 接下来,我们关注数据库连接。`...

    jbpm简介\jbpm简介

    ### jBPM简介与关键技术知识点 #### 一、jBPM概述 jBPM是一个开源的、纯Java的、轻量级的商业流程管理(Business Process Management, BPM)工作流引擎。它支持多种可执行流程语言,并且可以在任何JavaEE应用...

    Myeclipse优化JBPM4.0配置.docx

    Myeclipse优化JBPM4.0配置 MyEclipse是一个流行的集成开发环境(IDE),它可以与JBPM4.0集成,以实现业务流程管理。JBPM4.0是一个基于Java的开源工作流引擎,它提供了强大的业务流程管理功能。本文将介绍如何在...

    jbpm3.2开发总结.pdf

    jbpm3.2的API包括JbpmConfiguration、JbpmContext等类,这些类用于配置jbpm环境和获取会话。JbpmConfiguration类用于获取jbpm配置,例如通过getInstance方法加载jbpm.cfg.xml配置文件。JbpmContext类提供了一系列...

    jbpm白皮书 介绍jbpm 入门

    ### jBPM 白皮书:介绍 jBPM 入门 #### 一、引言与背景 在当今数字化转型的时代背景下,业务流程管理(Business Process Management,简称 BPM)成为了企业提升效率、优化流程的关键技术之一。BPM 提供了一种程序...

    jbpm数据库表结构

    JBPM的核心表结构覆盖了从流程定义到执行过程中的各个关键环节,具体包括但不限于以下几类: 1. **流程定义相关的表** - **JBPM_PROCESSDEFINITION**:流程模版表 - **ID_**:流程模版的唯一标识符。 - **NAME_*...

Global site tag (gtag.js) - Google Analytics