Java SpringBoot集成Activiti7工作流

Java SpringBoot集成Activiti7工作流

本文项目Demo地址附在文章后方

官网主页:http://activiti.org

在这里插入图片描述

介绍

Activiti是一个轻量级的工作流程和业务流程管理(BPM)平台,面向商务人士、开发人员和系统管理员。它的核心是适用于Java的超快速和坚如磐石的BPMN 2工艺引擎。它是开源的,并在Apache许可证下分发。Activiti在任何Java应用程序、服务器、集群或云中运行。它与Spring完美集成,重量极轻,基于简单的概念。

项目集成

引入依赖

<!-- Activiti7依赖 -->
<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>activiti-spring-boot-starter</artifactId>
    <version>7.1.0.M6</version>
</dependency>
<dependency>
    <groupId>org.activiti.dependencies</groupId>
    <artifactId>activiti-dependencies</artifactId>
    <version>7.1.0.M6</version>
    <type>pom</type>
</dependency>

YML配置文件

server:
  port: 8600
spring:
  application:
    name: activity7
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      url: jdbc:mysql://127.0.0.1:3306/activiti7?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&nullCatalogMeansCurrent=true
      username: root
      password: 
      driverClassName: com.mysql.cj.jdbc.Driver
  # activiti7配置
  activiti:
    # 自动部署验证设置:true-开启(默认)、false-关闭
    check-process-definitions: false
    # 保存历史数据
    history-level: full
    # 检测历史表是否存在
    db-history-used: true
    # 关闭自动部署
    deployment-mode: never-fail
    database-schema-update: true
    # 解决频繁查询SQL问题
    async-executor-activate: false

配置类

import org.activiti.api.runtime.shared.identity.UserGroupManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.ArrayList;
import java.util.List;

@Configuration
public class ActivitiSpringIdentityAutoConfiguration {
    
    

   @Bean
   public UserGroupManager userGroupManager() {
    
    
       return new UserGroupManager() {
    
    
           @Override
           public List<String> getUserGroups(String s) {
    
    
               return new ArrayList<>();
          }
           @Override
           public List<String> getUserRoles(String s) {
    
    
               return null;
          }
           @Override
           public List<String> getGroups() {
    
    
               return null;
          }
           @Override
           public List<String> getUsers() {
    
    
               return null;
          }
      };
  }

}

启动项目生成表结构

在这里插入图片描述

在这里插入图片描述
画出来的就是开始创建表结构

Activiti的数据库支持

Activiti 在运行时需要数据库的支持,使用25张表,把流程定义节点内容读取到数据库表中,以供后续使用。

activiti 支持的数据库和版本如下:

数据库类型 版本 JDBC连接示例 说明
h2 1.3.168 jdbc:h2:tcp://localhost/activiti 默认配置的数据库
mysql 5.1.21 jdbc:mysql://localhost:3306/activiti?autoReconnect=true 使用 mysql-connector-java 驱动测试
oracle 11.2.0.1.0 jdbc:oracle:thin:@localhost:1521:xe
postgres 8.1 jdbc:postgresql://localhost:5432/activiti
db2 DB2 10.1 using db2jcc4 jdbc:db2://localhost:50000/activiti
mssql 2008 using sqljdbc4 jdbc:sqlserver://localhost:1433/activiti

Activiti数据表介绍

表分类 表名 解释
一般数据
[ACT_GE_BYTEARRAY] 通用的流程定义和流程资源
[ACT_GE_PROPERTY] 系统相关属性
流程历史记录
[ACT_HI_ACTINST] 历史的流程实例
[ACT_HI_ATTACHMENT] 历史的流程附件
[ACT_HI_COMMENT] 历史的说明性信息
[ACT_HI_DETAIL] 历史的流程运行中的细节信息
[ACT_HI_IDENTITYLINK] 历史的流程运行过程中用户关系
[ACT_HI_PROCINST] 历史的流程实例
[ACT_HI_TASKINST] 历史的任务实例
[ACT_HI_VARINST] 历史的流程运行中的变量信息
流程定义表
[ACT_RE_DEPLOYMENT] 部署单元信息
[ACT_RE_MODEL] 模型信息
[ACT_RE_PROCDEF] 已部署的流程定义
运行实例表
[ACT_RU_EVENT_SUBSCR] 运行时事件
[ACT_RU_EXECUTION] 运行时流程执行实例
[ACT_RU_IDENTITYLINK] 运行时用户关系信息,存储任务节点与参与者的相关信息
[ACT_RU_JOB] 运行时作业
[ACT_RU_TASK] 运行时任务
[ACT_RU_VARIABLE] 运行时变量表

项目Demo地址:

在这里插入图片描述
发送:“获取工作流项目” 进行下载哦

猜你喜欢

转载自blog.csdn.net/A_yonga/article/details/132106475