【入门篇】Activiti流程定义删除
来源:互联网 发布:淘宝旧版本3.7.0下载 编辑:程序博客网 时间:2024/06/05 07:17
需求
当这个流程被废弃的时候,需要对activiti事先定义好的流程进行删除
涉及到的库表
方案
这里有两种删除方式,因为涉及到两张表,部署表和流程定义表。
第一种方式
根据流程部署id删除这一次部署的所有流程定义,建议一次部署只部署一个流程,根据流程部署id删除一个流程的定义
约束:如果该流程定义没有启动流程实例可以删除,如果该流程定义以及启动流程实例,不允许删除,如果删除就抛出异常
第二种方式
采用级联删除,不管流程定义是否启动了实例(是否使用),通过级联删除将该流程定义及相关的信息全部删除;但是一般情况下,不采用级联删除,而是采用对该流程进行暂停操作,特殊情况下需要删除流程定义及相关信息,就要使用级联删除,删除的功能给超级管理员用
代码实现
//流程定义的删除@Testpublic void deleteProcessDefinition(){//得到repositoryServiceRepositoryService repositoryService = processEngine.getRepositoryService();//根据流程定义id查询部署idString processDefinitionId = "purchasingflow:8:1204";ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefinitionId).singleResult();//流程定义所属部署idString deploymentId = processDefinition.getDeploymentId(); //1.根据流程部署id删除这一次部署的所有流程定义//建议一次部署只部署一个流程,根据流程部署id删除一个流程的定义//约束:如果该流程定义没有启动流程实例可以删除,如果该流程定义以及启动流程实例,不允许删除,如果删除就抛出异常repositoryService.deleteDeployment(deploymentId);//2.级联删除:不管该流程定义是否启动流程实例(是否使用),通过级联删除将该流程定义及相关的信息全部删除//一般情况下不适用级联删除,一般情况下对流程定义执行暂停操作//特殊情况下需要删除流程定义及相关的信息,就要使用级联删除,删除的功能给超级管理员使用//repositoryService.deleteDeployment(deploymentId,true);}
阅读全文
0 0
- 【入门篇】Activiti流程定义删除
- Activiti流程定义删除
- activiti 删除流程定义
- 【入门篇】Activiti流程定义查询
- 【入门篇】Activiti查询指定流程定义下待办task
- 【入门篇】Activiti完成指定流程定义下任务
- Activiti 工作流 流程定义的删除 04
- Activiti学习入门(2) -- 学习部署Activiti流程定义
- 【入门篇】Activiti查询指定流程定义下已完成的流程实例
- 【入门篇】Activiti查询指定流程定义下指定流程实例下历史任务
- 【入门篇】Activiti利用流程定义坐标定位当前流程运行处
- Activiti删除Key相同的所有流程定义
- Activiti 流程定义实例
- Activiti流程定义查询
- Activiti修改流程定义
- activiti 查询流程定义
- Activiti流程定义查询
- Activiti流程定义部署
- Spring Boot集成webservice
- Vuex(三)--Vue核心概念Getter
- oracle中的锁机制
- JAVA WEB搭建 SpringMVC+Spring+hibernate 框架
- 哈哈日语 五十音图绕口令,你能读顺吗?
- 【入门篇】Activiti流程定义删除
- (一)开篇—WebGIS's A B C
- 数据库中的五种约束
- opencv-计算摄影
- element-ui的表单验证问题
- 在Unity中实现有限状态机
- 持续集成环境选择:Jenkins VS gitlab-ci
- json转xml报[java.lang.NoClassDefFoundError: nu/xom/Serializer]
- Mybatis的ResultMap的使用