本篇文章是上一篇文章的延續(xù),沒(méi)看過(guò)的可以參考上一篇文章Activiti與SpringBoot 5分鐘入門(mén)(一)
繼續(xù)學(xué)習(xí)Activiti,現(xiàn)在我們有了流程,接下來(lái)就是運(yùn)行以及處理
- 部署流程
//注入流程引擎
@Resource
private ProcessEngine processEngine ;
/*部署*/
@Test
public void test(){
// 得到流程存儲(chǔ)服務(wù)組件
// 部署流程文件
DeploymentBuilder builder = processEngine.getRepositoryService().createDeployment();
Deployment deploy = builder.addClasspathResource("processes/first.bpmn").deploy();
System.out.println("部署完成\n"+deploy.getId());
System.out.println("----------------");
}
- 啟動(dòng)流程
/*啟動(dòng)實(shí)例*/
@Test
public void test5(){
//去數(shù)據(jù)庫(kù)表名為act_re_procdef 取出主鍵 啟動(dòng)流程實(shí)例
String definitionId = "holiday:1:60004" ;
ProcessInstance processInstance = processEngine
.getRuntimeService().startProcessInstanceById(definitionId);
System.out.println(processInstance.getId());
//去act_run_task表中,根據(jù)holiday:1:60004 查看任務(wù)運(yùn)行狀態(tài)
}
- 查看個(gè)人任務(wù)
/*查詢(xún)個(gè)人任務(wù)*/
@Test
public void test2(){
TaskQuery query = processEngine.getTaskService().createTaskQuery();
String assignee = "張三" ;
query.taskAssignee(assignee) ;
query.list().forEach(s-> System.out.println(s.getId()+"-----------\n"+s.getName()));
}
- 辦理任務(wù)
/*辦理任務(wù)*/
@Test
public void test32(){//45004
String taskId = "45004" ;
processEngine.getTaskService().complete(taskId);
}
致此,一個(gè)簡(jiǎn)單的Demo完成,有問(wèn)題可以在評(píng)論區(qū)留言
代碼已上傳到github https://github.com/tanoak10/activitiDemo
筆者會(huì)關(guān)注并回復(fù),如有錯(cuò)誤,請(qǐng)指正,謝謝