Activiti流程定義刪除
在開發中肯定會有一些流程不需要了,要刪除,Activiti中也是存在刪除操作的,
通過流程定義部署ID來執行刪除流程定義。
不說那麼多直接上程式碼:
/**
* 刪除流程定義
*/
@Test
public void delete(){
processEngine.getRepositoryService()
.deleteDeployment("12501"); // 流程部署ID
System.out.println("刪除流程定義!");
}
需要注意的是有一種情況下比如: 這個流程定義的流程例項在執行中,尚未結束。
這時候如果你執行刪除肯定會報錯的。(這個就不用我多講了吧,表與表之間的主外來鍵關係)
當然在某種情況下必須要刪除就要使用級聯刪除:
/**
* 級聯刪除 已經在使用的流程例項資訊也會被級聯刪除
*/
@Test
public void deleteCascade(){
processEngine.getRepositoryService()
.deleteDeployment("12501", true); // 預設是false true就是級聯刪除
System.out.println("刪除流程定義");
}
這種方式在屬於在任何情況下多能直接刪除流程定義,在實際開發中一般都是使用這種方式。