activiti部署与流程删除相关
最近学习完activiti的基本知识,做⼀些流程相关的东西,在删除部署信息以及流程实例时出现问题
报错显⽰不能删除,并且链接了⼀些外键,因此查了原因,需要级联删除;
Activiti 删除部署与流程实例介绍:
很多新⼿在刚接触的Activiti的时候,当想删除该流程的时候会感到头痛吧!当然包括我也⼀样,想删除,那么多表也不知道从哪⾥删除,瞎弄了好久还是⽆法删除完。Activiti 删除部署,就是删除上传的流程。删除流程实例,就是删除startProcessInstanceByKey()保存成功的任务。
Activiti 删除部署:
删除部署需要获取到部署Id(有多种⽅式):
Task ateTaskQuery() // 创建任务查询
.taskId(taskId) // 根据任务id查询
.singleResult();
String ProcessDefinitionId(); // 获取流程定义id
/**
* createProcessDefinitionQuery() // 创建流程定义查询
* processDefinitionId(processDefinitionId) // 根据流程定义id查询
**/
ProcessDefinition ateProcessDefinitionQuery()
.processDefinitionId(processDefinitionId)
.singleResult();
String deploymentId = DeploymentId(); //部署id
或者:
/**
* .createHistoricProcessInstanceQuery() //对应历史的流程实例表
* processInstanceBusinessKey(key) //key表⽰的是业务的BusinessKey
**/
HistoricProcessInstance hpi = ateHistoricProcessInstanceQuery()
.processInstanceBusinessKey(key)
.singleResult();
ProcessDefinition processDefinition= ateProcessDefinitionQuery()
.ProcessDefinitionId())
.singleResult();
String deploymentId = DeploymentId(); //部署id
删除部署信息:
repositoryService.deleteDeployment(部署id); //普通删除,如果当前部署的规则还存在正在制作的流程,则抛异常
repositoryService.deleteDeployment(部署id,boolean值); //级联删除,如果 boolean值为true时,会删除所有和当前部署的规则相关的信息,包括历史的信息。
Activiti 删除流程实例:
获取该流程的实例id:
/**
* .createHistoricProcessInstanceQuery() //对应历史的流程实例表
* processInstanceBusinessKey(key) //key表⽰的是业务的BusinessKey
**/
HistoricProcessInstance hpi = ateHistoricProcessInstanceQuery()
.processInstanceBusinessKey(key)
.singleResult();
String processInstanceId = Id(); //流程实例ID
判断该流程实例是否结束,未结束和结束两者删除表的信息是不⼀样的。
ProcessInstance pi = ateProcessInstanceQuery()//
.processInstanceId(processInstanceId)// 使⽤流程实例ID查询
.singleResult();
if(pi==null){
//该流程实例已经完成了
historyService.deleteHistoricProcessInstance(processInstanceId);
createprocessa }else{
//该流程实例未结束的
runtimeService.deleteProcessInstance(processInstanceId,"");
historyService.deleteHistoricProcessInstance(processInstanceId);//(顺序不能换)
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论