ip.py――IP地址处理
2016-01-21 15:12
302 查看
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()); |
相关文章推荐
- sql语句查询一个表的列数
- pwnable.kr解题write up —— Toddler's Bottle(二)
- Android开发记录16-友盟第三方登录、分享实现
- 编译安装nginx并修改版本头信息
- viewpager使用
- 如何取消服务器/主机空间目录脚本的执行权限
- ftp-down.py――利用pexpect实现FTP下载文件
- SHELL _01
- mysql
- file-diff.py――文件对比,输出HTML文档
- atoi重写
- hdu 1233 ( 还是畅通工程 )
- 【C++】优先队列priority_queue
- Objective-C自定义UITabBar位置
- 生态链的设想和雷军的新国货理念
- 链表常见面试题二:约瑟夫环
- VirtualBox虚拟机快速入门(5):使用技巧【网络配置】
- Windbg调试.net程序(1)准备工作
- 2.8 The Object Model -- Enumerables
- C#delegate委托