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\javadocsjbpm-4.4\jbpm-4.4\doc\javadocsjbpm-4.4\jbpm-4.4\doc\javadocs
JBPM4.4-API-CHM官方英文版(自己制作整合)
jbpm4.4 ibatis-spring 整合
完美版JBPM4.4帮助文档,开发必备。
jbpm-4.4.zip
jbpm4.4 jar 包下载jbpm4.4 jar 包下载jbpm4.4 jar 包下载jbpm4.4 jar 包下载
资源名称:JBPM4.4视频教程(22集附源码)资源目录:【】(01)jbpm4.4简介【】(02)JBPM4.4开发环境搭建【】(03)jbpm4.4环境搭建续【】(04)jbpm4.4配置文件和开发前准备【】(05)jbpm4.4部署流程发起流程实例【】(06)...
jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd
JBPM4.4与SSH2之整合(附完整源码) 这些天,想着把jbpm4.4与ssh2整合一下,由于之前从来没用过jbpm,也不知道各版本之间会有什么差异(经过网上的收集对比,还真有些差异),整合起来,还真是有些步履艰难。收集了...
jBPM4.4开发指南 开发手册 JBPM4.4 开发
jbpm4.4下载地址
jbpm_4.4完整架包
jbpm4.4写的流程引擎例子,互相学习交流,直接导入eclipse中就可以了。这个是个web工程,需要web容器,我用的是tomcat6.
jbpm4.4.zip下载jbpm-4.4.zip下载更多下载资源、学习资料请访问CSDN下载频道
jbpm4.4开发指南,jbpm4.4用户指南
jBPM4.4入门开发实例
JBPM4.4-api
首先感谢原创,相关信息请查询原创。... 看到好多朋友找不到相应的jar包,致使jbpm4.4的学习遇到困难,现提供除jbpm4.4自身jar包外的所有包,以便大家更快的学习jbpm4.4,希望能帮朋友们少走弯路!
jBPM4.4课程文档
JBPM4.4之HelloWorld示例