《Activiti/Flowable 深入BPM工作流》-流程定义怎么进行删除?
一. 问题
之前我们分享过流程定义的流程任务查询, 流程任务处理,
任务那么怎么进行删除?
二. 详情
直接repositoryService.deleteDeployment(deploymentId,true); 即可
设置true 级联删除流程定义,即使该流程有流程实例启动也可以删除,设
置为false非级别删除方式.
删除已经成功不是的流程定义
具体实现代码如下:
/*** 删除流程定义*/@Testpublic void removeDeployment() {// 1.建立配置文件链接ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");// 2.创建引擎ProcessEngine processEngine = configuration.buildProcessEngine();// 3.获取repositoryServiceRepositoryService repositoryService = processEngine.getRepositoryService();String deploymentId="10001";repositoryService.deleteDeployment(deploymentId);/*** 设置true 级联删除流程定义,即使该流程有流程实例启动也可以删除,设* 置为false非级别删除方式,如果流程*///repositoryService.deleteDeployment(deploymentId, true);}
小结:
1) 使用 repositoryService 删除流程定义
2) 如果该流程定义下没有正在运行的流程,则可以用普通删除。
3) 如果该流程定义下存在已经运行的流程,使用普通删除报错,可用级联删除方法将流程及相关
记录全部删除。项目开发中使用级联删除的情况比较多,删除操作一般只开放给超级管理员使
用。