开始配置如下:

Activiti 依赖

<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>activiti-spring-boot-starter</artifactId>
    <version>7.1.0.M4</version>
</dependency>

注:Activiti 依赖有两个 artifactId,依赖错误会产生依赖冲突,具体详见:

Test测试类

import org.activiti.engine.ProcessEngine;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class ActivitiApplicationTest {
    @Autowired
    private ProcessEngine processEngine;
    /**
     * 创建流程流程框架25张表结构(在创建流程引擎对象时,就会自动创建25张表)
     */
    @Test
    public void createTable() {
        System.out.println(processEngine);
    }
}

运行测试类后,只生成17张表,经过查阅,需要对Activiti进行配置,方可生成全部25张表,具体配置如下。

Activiti 配置

spring:
  # Activiti 配置
  activiti:
    database-schema-update: true
    history-level: full
    db-history-used: true

databaseSchemaUpdate配置项可以设置流程引擎启动和关闭时数据库执行的策略,databaseSchemaUpdate有以下四个值:

  • false:false为默认值,设置为该值后,Activiti在启动时,会对比数据库表中保存的版本,如果没有表或者版本不匹配时,将在启动时抛出异常。
  • true:设置为该值后,Activiti会对数据库中所有的表进行更新,如果表不存在,则Activiti会自动创建。
  • create-drop:Activiti启动时,会执行数据库表的创建操作,在Activiti关闭时,执行数据库表的删除操作。
  • drop-create:Activiti启动时,执行数据库表的删除操作在Activiti关闭时,会执行数据库表的创建操作。

history-level对于历史数据,保存到何种粒度,Activiti提供了history-level属性对其进行配置。history-level属性有点像log4j的日志输出级别,该属性有以下四个值:

  • none:不保存任何的历史数据,因此,在流程执行过程中,这是最高效的。
  • activity:级别高于none,保存流程实例与流程行为,其他数据不保存。
  • audit:除activity级别会保存的数据外,还会保存全部的流程任务及其属性。audit为history的默认值。
  • full:保存历史数据的最高级别,除了会保存audit级别的数据外,还会保存其他全部流程相关的细节数据,包括一些流程参数等。

db-history-used为true表示使用历史表,如果不配置,则工程启动后可以检查数据库,只建立了17张表,历史表没有建立,则流程图及运行节点无法展示。

activiti排除springSecurity依赖 activiti 外置表单 springboot_spring