删除流程public interface RepositoryService {/*** 删除指定流程.* @param deploymentId 流程部署ID*/void deleteDeployment(String deploymentId);/*** 删除给定的部署和级联删除到流程实例、历史流程实例和作业 。** @param deploymentId 流程部署ID* @param cascade是否级联删除*/void deleteDeployment(String deploymentId, boolean cascade);}
流程实例
当我们将流程部署完成之后,先要使用他就得先开始一个流程实例 。所谓流程实例,即比如我们部署了一个请假流程,小李的请假流程就是一个实例,小王的请假流程也是一个实例 。所以我们的流程实例也是基于流程部署来实现的 。流程实例的管理底层使用的是
RuntimeService
,而最新提供的ProcessRuntime
对流程进行了二次封装,简便了api的调用 。启动流程实例
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();RuntimeService runtimeService = processEngine.getRuntimeService();
public interface RuntimeService {/*** 启动先前创建的流程实例 。* @param createdProcessInstance 已经创建的流程实例*/ProcessInstance startCreatedProcessInstance(ProcessInstance createdProcessInstance, Map<String, Object> variables); /*** 开启指定流程定义Key的最新版本* @param processDefinitionKey 流程定义的Key*/ProcessInstance startProcessInstanceByKey(String processDefinitionKey);/*** 开启给定流程定义Key的最新版本,并指定业务流程Key* @param processDefinitionKey 流程定义Key* @param businessKey 业务流程Key*/ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey);/*** 开启指定流程定义Key的最新版本** @param processDefinitionKey 流程定义的Key* @param variables 流程的参数,比如uel参数*/ProcessInstance startProcessInstanceByKey(String processDefinitionKey, Map<String, Object> variables);/*** 开启给定流程定义Key的最新版本,并指定业务流程Key* @param processDefinitionKey 流程定义Key* @param variables 参数* @param businessKey 业务Key*/ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey, Map<String, Object> variables);/*** 开启指定流程定义Id的最新版本.* @param processDefinitionId 流程定义Id*/ProcessInstance startProcessInstanceById(String processDefinitionId);/*** 开启给定流程定义Id的最新版本,并指定业务流程Key* @param processDefinitionId 流程定义ID*/ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey);/*** 开启给定流程定义Id的最新版本* @param processDefinitionId 流程定义Id* @param variables 参数*/ProcessInstance startProcessInstanceById(String processDefinitionId, Map<String, Object> variables);/*** 开启给定流程定义Id的最新版本* @param processDefinitionId 流程定义Id* @param variables 参数*/ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey, Map<String, Object> variables);}
涉及数据库表- ACT_RU_EXECTION
流程实例执行表,记录当前流程实例的执行情况 。流程实例执行,如果当前只有一个分支时,一个流程实例只有一条记录且执行表的主键id和流程实例id相同,如果当前有多个分支正在运行则该执行表中有多条记录,存在执行表的主键和流程实例id不相同的记录 。
不论当前有几个分支总会有一条记录的执行表的主键和流程实例id相同
一个流程实例运行完成,此表中与流程实例相关的记录删除 。
- ACT_RU_TASK
任务执行表,记录当前执行的任务 。启动流程实例,流程当前执行到第一个任务结点,此表会插入一条记录表示当前任务的执行情况,如果任务完成则记录删除 。
经验总结扩展阅读
- 奥运会的介绍
- 苹果13mini屏幕材质_苹果13mini屏幕介绍
- AlexNet-文献阅读笔记
- 15 基于SqlSugar的开发框架循序渐进介绍-- 整合代码生成工具进行前端界面的生成
- 电影左耳剧情介绍?
- 电影康定情歌剧情介绍?
- 电影搜索剧情详细介绍?
- 电影攀登者剧情介绍?
- 电影最爱的剧情介绍?
- 红米Note11参数配置_红米Note11详细配置介绍