`
yuanlg
  • 浏览: 79066 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JBPM4.4简介(七)-ProcessInstance与Execution(转)

 
阅读更多

ProcessInstance与Execution

上面我们了解了所谓流程实例(ProcessInstance),实质就是指得一个业务对象(比如:“小赵的请假单”、“小李的报销单”、“某某单位的某 次发文”等等)。而Execution是一个执行控制对象,你必须要理解的一点就是每个Execution对象必然会指向一个节点(Activity)。 Execution指向哪里,就代表它执行到了哪里。每个Activity都有自己的行为。比如TaskActivity的行为就是创建任务实例 (TaskImpl),并把任务实例与参与者(assignee)相关联。这样,通过assignee就可以查找到其任务实例列表。

 

Execution有name、key、id、state等属性,Execution是树型结构,在fork和join流程中,将会创建子Execution对象。

 

子Execution对象的name属性是进入这个子Execution对象时的transition的名称。

 

ProcessInstance也是一种Execution类型的对象。实际上,对于ProcessInstance对象来说,它对应的 ProcessInstance(因为ProcessInstance也是Execution,所以它也有对应的ProcessInstance对象)就 是它自己。而对于ProcessInstance的那些子Execution对象(孙Execution对象等等等等)而言,也肯定会有指向 ProcessInstance对象的一个引用!

 

对于Execution对象(即ProcessInstance对象),它的ID是:流程定义的KEY.流程实例的KEY,比如上面例子中创建的流程实例的ID就是:”LEAVE.101”。

 

我们可以通过这个ID(或其它方法)来查询流程实例对象或Execution对象,从而得知这些Execution指向哪里。

       //流程引擎

       ProcessEngine engine = newConfiguration()

           .setResource("jbpm.cfg.xml").buildProcessEngine();

      

       ProcessInstance instance = engine.getExecutionService().findProcessInstanceById("LEAVE.101");

      

       Set<String> currentActivityNames = instance.findActiveActivityNames();

      

       //流程实例现在流转到哪个Activity了

       System.out.println(currentActivityNames.toString());

上述代码将输出:[张三审批],表明现在执行到了张三审批这个环节。

分享到:
评论

相关推荐

    jbpm-4.4\jbpm-4.4\doc\javadocs

    jbpm-4.4\jbpm-4.4\doc\javadocsjbpm-4.4\jbpm-4.4\doc\javadocsjbpm-4.4\jbpm-4.4\doc\javadocs

    JBPM4.4-API-CHM官方英文版(自己制作整合)

    JBPM4.4-API-CHM官方英文版(自己制作整合)

    jBPM4.4.rar_jbpm4.4_jbpm4.4 PDF

    《jBPM4.4开发指南》与《jBPM4.4中文用户手册》是深入理解jBPM4.4这一开源工作流管理系统的重要参考资料。jBPM,全称Java Business Process Management,是一个用于执行业务流程的轻量级、灵活的开源框架,它为业务...

    jbpm4.4 ibatis-spring 整合

    jbpm4.4 ibatis-spring 整合

    jbpm-4.4.zip part03

    【jbpm-4.4.zip part03】这个压缩文件是关于jbpm 4.4版本的组成部分,jbpm(Java Business Process Management)是一个开源的工作流管理系统,它提供了业务流程建模、部署、执行和监控的功能。jbpm 4.4是该系统的一...

    jbpm4.4帮助文档API--chm格式

    完美版JBPM4.4帮助文档,开发必备。

    jbpm4.4下载地址

    jBPM 4.4的下载地址为:http://sourceforge.net/projects/jbpm/files/jBPM%204/jbpm-4.4/。在下载页面上,你可以找到不同的包,包括源代码、二进制文件和文档。选择适合你需求的包进行下载。安装过程通常涉及解压缩...

    jBPM4.4开发指南

    - **添加 jPDL 4.4 Schema 校验**:用于校验流程定义文件的 xsd 文件路径为 JBPM_HOME/src/jpdl-4.4.xsd。 - 添加方法: 1. Window -&gt; Preferences 2. 选择 XML -&gt; XML Catalog 3. 点击 Add 4. 打开 Add XML ...

    jbpm4.4文档+学习资料

    5. 集成能力:jbpm4.4可以与Java EE、Spring、Hibernate等框架无缝集成,便于开发企业级应用。 三、jbpm4.4学习路径 1. 基础概念:首先需要了解BPM的基本概念,如流程实例、任务、事件、信号等。 2. 工具使用:学习...

    jbpm_4.4完整架包

    【jbpm_4.4完整架包】是一个包含jbpm(Java Business Process Management)4.4版本所有必要组件和资源的压缩包。jbpm是一个开源的工作流管理系统,它提供了业务流程建模、部署、执行、监控和管理的能力,主要用于...

    jBPM4.4开发实例

    **jBPM4.4开发实例** jBPM(Java Business Process Management)是一个开源的工作流管理系统,用于管理和执行业务流程。jBPM4.4是该框架的一个版本,它提供了强大的工作流服务,包括流程定义、流程实例管理、任务...

    jbpm4.4中文开发指南

    jbpm4.4是该系统的某一版本,它提供了丰富的功能,包括流程定义、流程实例的启动、监控和干预,以及与后端系统如数据库和应用服务器的集成。 1. **流程建模**: jbpm4.4使用BPMN(Business Process Model and ...

    jbpm4.4入门编程小例子

    **jbpm4.4入门编程小例子** Jbpm(Java Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程的建模、部署、执行和监控。jbpm4.4是该系统的较早版本,但它仍然是许多开发人员学习工作流...

    jBPM 4.4用户手册 中文PDF

    jBPM 4.4 可以无缝集成到Java EE和Spring环境中,便于与其他企业服务和应用进行交互。它还支持与外部服务(如EJB、JMS、WS)的交互,以及与规则引擎(如Drools)的集成,实现业务逻辑的智能化。 **八、文档资源** ...

    jbpm4.4表字段说明

    JBPM4.4是JBoss Business Process Management (BPM)平台的一个特定版本,它提供了用于设计、执行和管理业务流程的工具和框架。在JBPM4.4中,数据库是存储流程实例、流程定义以及相关元数据的关键部分。以下是关于...

    jbpm4.4 shh2 项目示例

    jbpm4.4 shh2 项目示例是基于jbpm4.4版本与SSH2(Struts2、Spring和Hibernate)集成的一个实战项目。jbPM(Business Process Management)是一款开源的工作流管理系统,用于实现业务流程自动化。SSH2是Java开发中的...

    JBPM4.4流程管理Demo(附学习资料)

    【JBPM4.4流程管理Demo】是一个基于JBPM4.4版本的示例项目,主要展示了如何在实际业务场景中应用工作流引擎进行流程管理,特别是报销流程的管理。这个Demo不仅包含了可运行的代码,还附带了学习资料和SQL文件,方便...

    JBPM4.4资料的其他补充

    7. **服务和集成**:JBPM4.4支持与外部系统和服务的集成,如通过Web服务调用,实现跨系统的协同工作。 关于“JBPM4.4资料的其他补充”,可能是为了补充之前发布资料中缺失的部分,可能包含以下内容: 1. **示例...

    jbpm4.4-demo

    3. **jbpm核心库**:包括jbpm-runtime、jbpm-persistence、jbpm-human-task等,这些都是jbpm框架的核心依赖,负责流程的执行和管理。 4. **示例应用**:可能是一个简单的Web应用程序,使用Spring或其他框架集成jbpm...

Global site tag (gtag.js) - Google Analytics