• SpringBoot集成Activiti7


    SpringBoot集成Activiti7

    SpringBoot版本使用2.7.16

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.16</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    导入数据库及activiti相关依赖

    >
        >org.springframework.boot>
        >spring-boot-starter>
    >
    >
        >mysql>
        >mysql-connector-java>
        >8.0.23>
    >
    >
        >org.springframework.boot>
        >spring-boot-starter-jdbc>
    >
    >
        >org.activiti>
        >activiti-spring-boot-starter>
        >7.1.0.M6>
    >
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    在application.yml中填写MySQL配置

    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/activiti
        username: root
        password: root
      activiti:
        db-history-used: true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • db-history-used:该参数默认设置为false,不会自动生成历史记录表。
      activiti-spring-boot-starter默认集成Spring Security,此处先禁用
    import org.activiti.core.common.spring.identity.config.ActivitiSpringIdentityAutoConfiguration;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication(exclude = {ActivitiSpringIdentityAutoConfiguration.class})
    public class ActivitiApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ActivitiApplication.class, args);
        }
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    添加UserGroupManager配置

    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 ActivitiConfiguration {
    
       @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;
              }
          };
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    启动服务,MySQL中生成25张表。

    Activiti的数据表名称都以“ACT_”开头,后半部分则由两个字符组成的表格用例标识。
    以下是数据表前缀的简要说明:
    ACT_RE_*:RE代表存储库。带有这个前缀的表格包含诸如流程定义和流程资源(比如图像、规则等)等静态信息。
    ACT_RU_*:RU代表运行时。这些是包含流程实例、用户任务、变量、作业等运行时数据的运行时表格。Activiti仅在流程实例执行期间存储运行时数据,当流程实例结束后会删除记录,这使得运行时表格保持小且快速。
    ACT_ID_*:ID代表身份。这些表格包含身份信息,比如用户、组等。
    ACT_HI_*:HI代表历史记录。这些表格包含历史数据,比如过去执行过的流程实例、变量、任务等。
    ACT_GE_*:GE代表通用数据,这些数据在各种用途的场景中使用。
    在这里插入图片描述

    参考

    Activiti User Guide
    Getting Started - Activiti Core

  • 相关阅读:
    网络安全——自学(黑客技术)
    软件测试/测试开发丨ChatGPT在测试计划中的应用策略
    ZED相机获取图像python
    前端学习2——CSS3
    月光宝盒(vivo流量录制回放平台)正式对外开源
    全网最简约的Vscode配置Anaconda环境(百分百成功)
    JVM技术文档--JVM优化思路以及问题定位--JVM可调整参数汇总
    Linux中in、ls、tree、clear的用法
    吴恩达开新课了:面向所有人的生成式 AI 课程!我已偷偷学了起来
    Sentinel入门开发
  • 原文地址:https://blog.csdn.net/libra_boy/article/details/133871183