Activiti工作流-简单实例
Categories: Activiti
Activiti工作流的简单实例
1.绘制流程图
2.部署任务
@Test public void addDeployment() { Deployment deployment = processEngine.getRepositoryService() // 与流程定义和部署对象相关的Service .createDeployment() // 创建一个部署对象 .name("把大象放冰箱里分几步") // 设置对应流程的名称 .addClasspathResource("put.bpmn") .deploy(); // 完成部署 }
3.启动任务
@Test
public void startProcess() {
RuntimeService runtimeService = processEngine.getRuntimeService();
//key是act_re_procdef中的KEY_,bpmn的id
runtimeService.startProcessInstanceByKey("putElephant");
}
4.查看任务并提交
@Test public void queryTask() { String assignee = "guanliyuan"; List<Task> taskList = processEngine.getTaskService()//获取任务service .createTaskQuery()//创建查询对象 .taskAssignee(assignee)//指定查询人 .list(); for (Task task : taskList) { //提交任务到下一个代理人 processEngine.getTaskService().complete(task.getId()); } }
5.查看执行历史
@Test
public void viewHistory() {
HistoryService historyService = processEngine.getHistoryService();
HistoricProcessInstance historicProcessInstance =
historyService
.createHistoricProcessInstanceQuery()
.processInstanceId("2501").singleResult();
System.out.println("开始时间:" + historicProcessInstance.getStartTime());
System.out.println("结束时间:" + historicProcessInstance.getEndTime());
}