activiti6+springboot2 的第一个简单demo

时间:2019-11-20
本文章向大家介绍activiti6+springboot2 的第一个简单demo,主要包括activiti6+springboot2 的第一个简单demo使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

//流程图的画法:鼠标放图形中间,出现大黑点时候,拖到下一个图形处,即可连线。部门审批,总经理审批,双击中间输入文字即可。

这个流程中的用户是写死的。后面会设置动态用户。

import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/activiti")
public class ActivitiController {
@Autowired
private RepositoryService repositoryService;
@Autowired
private RuntimeService runtimeService;
@Autowired
private TaskService taskService;
@RequestMapping("hello_world")
    public void helloWorld() { 
        //根据bpmn文件部署流程 
        Deployment deploy = repositoryService.createDeployment()
        .addClasspathResource("processes/leave.bpmn")
        .deploy(); 
        //获取流程定义 processes/leave.bpmn
        ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(deploy.getId()).singleResult();
        //启动流程定义,返回流程实例 
        ProcessInstance pi = runtimeService.startProcessInstanceById(processDefinition.getId());
        String processId = pi.getId(); 
        System.out.println("流程创建成功,当前流程实例ID:"+processId); 
        Task task=taskService.createTaskQuery().processInstanceId(processId).singleResult();
        System.out.println("执行前,任务名称:"+task.getName()); 
        taskService.complete(task.getId()); 
        task = taskService.createTaskQuery().processInstanceId(processId).singleResult(); 
        System.out.println("task为null,任务执行完毕:"+task); 
    }

}

启动项目 访问:http://loaclhost:8080/acticiti/hello_world

注意:bpmn文件的路径不要错了。

原文地址:https://www.cnblogs.com/woshuaile/p/11898286.html