Spring Boot 集成 Activiti 工作流引擎 极简教程

package com.example.actividemo;

import org.activiti.engine.HistoryService;

import org.activiti.engine.RepositoryService;

import org.activiti.engine.RuntimeService;

import org.activiti.engine.TaskService;

import org.activiti.engine.repository.DeploymentBuilder;

import org.activiti.engine.runtime.ProcessInstance;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import java.util.List;

@Service("activityService")

public class ActivityConsumerServiceImpl implements ActivityConsumerService {

     @Autowired

     private RuntimeService runtimeService;

     @Autowired

     private TaskService taskService;

     @Autowired

     private HistoryService historyService;

     @Autowired

     private RepositoryService repositoryService;

     /**

      * 注册一个流程

      *

      * @return

      */

     @Override

     public boolean createDeployment() {

         DeploymentBuilder builder =外汇跟单gendan5.com repositoryService.createDeployment();

         builder.addClasspathResource("test01.bpmn20.xml");

         builder.deploy();

         return true;

     }

     /**

      * 查询待办

      *

      * @return

      */

     public List getTaskList() {

         return historyService.createHistoricActivityInstanceQuery().list();

     }

     /**

      * 根据流程 key 开启一个流程

      *

      * @param key

      * @return

      */

     @Override

     public boolean startActivityDemo(String key) {

         ProcessInstance test01 = runtimeService.startProcessInstanceByKey(key);

         String id = test01.getId();

         System.out.println(" 流程 id=" + id);

         return true;

     }

     /**

      * 根据任务 id 提交任务

      *

      * @param taskId

      * @return

      */

     @Override

     public boolean complete(String taskId) {

         taskService.complete(taskId);

         return true;

     }

     /**

      * 根据流程 id 直接结束流程

      *

      * @param runId

      * @return

      */

     @Override

     public boolean deleteProcessInstance(String runId) {

         runtimeService.deleteProcessInstance(runId, " 结束 ");

         return true;

     }

}


请使用浏览器的分享功能分享到微信等