java1234开源博客系统
博客信息

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

发布时间:『 2016-04-18 16:27』  博客类别:activiti  阅读(5740) 评论(1)

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

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


我们的思路是这样的;

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

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

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


上代码:

/**
 * 删除所有Key相同的流程定义
 * @throws Exception
 */
@Test
public void deleteByKey()throws Exception{
	List<ProcessDefinition> pdList=processEngine.getRepositoryService()  // 获取service类
			.createProcessDefinitionQuery() // 创建流程定义查询
			.processDefinitionKey("mySecondProcess") // 根据Key查询
			.list();
	for(ProcessDefinition pd:pdList){  // 遍历集合 获取流程定义的每个部署Id,根据这个id来删除所有流程定义
		processEngine.getRepositoryService()
		.deleteDeployment(pd.getDeploymentId(), true); 
	}
}


完整代码:http://pan.baidu.com/s/1o8w43Yq


关键字:   Activiti  
关注Java1234微信公众号
博主信息
Java1234_小锋
(知识改变命运,技术改变世界)
Powered by Java1234 V3.0 Copyright © 2012-2016 Java知识分享网 版权所有