java1234开源博客系统
博客信息

Activiti流程定义删除

发布时间:『 2016-04-15 13:19』  博客类别:activiti  阅读(6432) 评论(3)

前面我们把流程定义添加 查询讲了,现在讲下流程定义的删除;


比如我们某个流程定义不需要,我们要删除它;这时候我们可以通过接口,通过流程定义部署ID来删除流程定义;


比较简单,我们直接上代码:

/**
 * 删除流程定义
 */
@Test
public void delete(){
	processEngine.getRepositoryService()
		.deleteDeployment("12501"); // 流程部署ID
	System.out.println("delete OK!");
}


上面那种有个问题,一般情况不会有问题,但是,假如这个流程定义的流程实例在运行活动中,未完结。

这时候我们执行上面的代码,会报错;


a.jpg

本质的话,就是数据库里的数据 有主外键关联,不能删除;


我们实际情况的,假如一个流程定义都不需要了。那那些活动的流程实例也直接了当的级联删除;

所以我们这里要搞级联删除;上代码;

/**
 * 级联删除 已经在使用的流程实例信息也会被级联删除
 */
@Test
public void deleteCascade(){
	processEngine.getRepositoryService()
		.deleteDeployment("12501", true); // 默认是false true就是级联删除
	System.out.println("delete cascade OK!");
}


这时候 任何情况都能直接删除流程定义; 我们开发的时候就用这种;


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



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