jbpm学习三
来源:互联网 发布:上海程序员培训学校 编辑:程序博客网 时间:2024/06/10 09:50
excutionService对象是processEngine.getExecutionService()获得的。
1.启动流程实例:
启动流程实例有两种方式:
(1)通过实例pdid启动:executionService.startProcessInstanceById('holiday888-1')
(2)通过实例pdkey启动:executionService.startProcessInstanceByKey("holiday888")
pdid是流程定义编号,pdkey是流程实例关键字,这两个字都是存在jbpm4_deloyprop表中,pdid是唯一的,对应唯一的业务流程定义,pdkey是可以重复的,如果根据key启动流程,默认启动相同key最高版本流程。
启动流程对表的影响:
(1)jbpm4_execution:流程实例表(存放正在运行的流程实例信息),每次新建一条流程实例,都会保存一条记录(实际是两条)。
(2)jbpm4_hist_procinst:流程实例历史记录表(无论流程实例是否正在运行,历史记录都会存在对应流程信息)。
(3)jbpm4_property:启动流程实例,该表ID递增10000。(插入数据该表ID就会递增10000)。
(4)jbpm4_task:任务表。
启动流程实例代码:
ProcessEngine buildProcessEngine = new Configuration().buildProcessEngine();ExecutionService executionService = buildProcessEngine.getExecutionService();executionService.startProcessInstanceById("holiday888-1");executionService.startProcessInstanceByKey("holiday888");
2.流程实例信息查询:
<span style="white-space:pre"></span>ProcessEngine buildProcessEngine = new Configuration().buildProcessEngine();ExecutionService executionService = buildProcessEngine.getExecutionService();List<ProcessInstance> list = executionService.createProcessInstanceQuery().list();System.out.println("正在运行流程实例个数:" + list.size());for(ProcessInstance processInstance : list){System.out.println("流程实例编号:" + processInstance.getId());System.out.println("正在执行活动节点:" + processInstance.findActiveActivityNames());}查询jbpm4_execution表。
3.流程实例监控操作:
<span style="white-space:pre"></span>ProcessEngine buildProcessEngine = new Configuration().buildProcessEngine();ExecutionService executionService = buildProcessEngine.getExecutionService();String executionId = "holiday888.10001";String signalName = "to 部门经理审批";executionService.signalExecutionById(executionId, signalName); //executionService.endProcessInstance(executionId, ProcessInstance.STATE_ENDED); 结束该流程,jbpm4_execution中就不存在该流程实例了
executionId是表jbpm4_execution表中ID字段,signalName是发往的节点名称,对应xml配置文件的name属性,执行完上述代码后,jbpm4_execution表activityname字段变成
'部门经理审批'。
- jbpm学习三
- JBPM学习日志(三)
- JBPM学习(三):管理流程定义
- JBPM学习(三):管理流程定义
- JBPM--三
- 学习JBPM
- jbpm学习
- jBPM学习
- Jbpm学习
- jbpm学习
- jBPM学习(三)----将jbpm从jboss迁移到tomcat5.5
- jBPM-jPDL学习笔记—框架设计简介(三)
- jBPM-jPDL学习笔记—框架设计简介(三)
- jBPM-jPDL学习笔记—框架设计简介(三)
- jbpm学习笔记(三)--管理流程实例
- JBPM学习(三)--引擎与5个服务
- JBPM案例详解(三)
- [jbpm]jBPM(三): 如何在Eclipse搭建jBPM环境?
- mpu6050+hmc5883l master mode 和 passthrough mode 详解
- iOS使用AVCaptureSession自定义相机
- How to use ESP8266 ESP-01 as a SENSOR web client
- Redis基础之生存时间
- FMDatabaseQueue的简单使用
- jbpm学习三
- UIWebView的三种加载方式
- man C++ 安装
- 给客户处理数据库故障的过程分享
- VS 显示 debug 信息
- 仿照着写个bootloader (三-1)
- 02-1. Reversing Linked List (25) PAT DBS打基础之练习
- 3Sum
- 线性筛模板