Activiti删除Key相同的所有流程定义

来源:互联网 发布:js 浮点数 编辑:程序博客网 时间:2024/06/06 04:33

有时候我们一个流程定义不需要的,包括所有版本,这时候我们在用户界面上一个一个删除太麻烦

所有有时候我们又这样的需求,一下子把所有Key相同的流程定义全部删除


我们的思路是这样的;

第一步:根据Key获取所有的流程定义;

第二步:遍历集合,获取每个流程定义的流程部署Id

第三步:我们根据流程部署Id即可删除所有的流程定义;


代码如下:

package com.gcx.activiti.table;import java.io.IOException;import java.util.LinkedHashMap;import java.util.LinkedList;import java.util.List;import java.util.Map;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngines;import org.activiti.engine.repository.ProcessDefinition;import org.junit.Test;public class Search {private ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();/** * 删除所有key相同的流程定义 * @throws IOException  */@Testpublic void deletebyKey() {String processDefinitionKey="myProcess";List<ProcessDefinition> list = processEngine.getRepositoryService().createProcessDefinitionQuery().processDefinitionKey(processDefinitionKey).list();for(ProcessDefinition pd:list){processEngine.getRepositoryService().deleteDeployment(pd.getDeploymentId(),true);}}}