Activiti7流程操作

发布流程

// bpmn输入流
// 定义zip输入流
InputStream inputStream = this
.getClass()
.getClassLoader()
.getResourceAsStream("***.zip");
ZipInputStream zipInputStream = new ZipInputStream(inputStream);
// 获取repositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
// 流程部署
Deployment deployment = repositoryService.createDeployment()
						.addZipInputStream(zipInputStream)
						.deploy();

所执行操作

流程定义部署后操作 activiti 数据表如下:
act_re_deployment :流程定义部署表,记录流程部署信息
act_re_procdef :流程定义表,记录流程定义信息
act_ge_bytearray :资源表

说明:
act_re_deployment 和 act_re_procdef 一对多关系,一次部署在流程部署表生成一条记录,但一次部署可以部署多个流程定义,每个流程定义在流程定义表生成一条记录。每一个流程定义在act_ge_bytearray 会存在两个资源记录,bpmn 和 png。

启动流程

// 获取RunTimeService
RuntimeService runtimeService = processEngine.getRuntimeService();
// 根据流程定义key启动流程
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("***");
//或者使用id启动
ProcessInstance processInstance = runtimeService.startProcessInstanceById("***");

所执行操作

act_ru_execution : 流程实例执行表,记录当前流程实例的执行情况

说明:
流程实例执行,如果当前只有一个分支时,一个流程实例只有一条记录且执行表的主键 id 和流程实例 id 相同,如果当前有多个分支正在运行则该执行表中有多条记录,存在执行表的主键和流程实例id 不相同的记录。不论当前有几个分支总会有一条记录的执行表的主键和流程实例 id 相同一个流程实例运行完成,此表中与流程实例相关的记录删除。

act_ru_task : 任务执行表,记录当前执行的任务

说明:启动流程实例,流程当前执行到第一个任务结点,此表会插入一条记录表示当前任务的执行情况,如果任务完成则记录删除。

act_ru_identitylink : 任务参与者,记录当前参与任务的用户或组
act_hi_procinst : 流程实例历史表,流程实例启动,会在此表插入一条记录,流程实例运行完成记录也不会删除。
act_hi_taskinst : 任务历史表,记录所有任务

开始一个任务,不仅在 act_ru_task 表插入记录,也会在历史任务表插入一条记录,任务历史表的主键就是任务 id,任务完成此表记录不删除。

act_hi_actinst : 活动历史表,记录所有活动

活动包括任务,所以此表中不仅记录了任务,还记录了流程执行过程的其它活动,比如开始事件、结束事件

你可能感兴趣的:(java,activiti)