Activiti

本质

Activiti最本质最核心的东西就是将流程定义转换成表记录,表面上看好像是一个图片,其实它是一个xml文件,通过解析xml文件,进而将其转成表数据,后续从表中读数据就可以了。

核心Service

ProcessEngine

package org.activiti.engine;

import org.activiti.engine.api.internal.Internal;

@Internal
public interface ProcessEngine {
    String VERSION = "7.1.0-M6";

    String getName();

    void close();

    RepositoryService getRepositoryService();

    RuntimeService getRuntimeService();

    TaskService getTaskService();

    HistoryService getHistoryService();

    ManagementService getManagementService();

    DynamicBpmnService getDynamicBpmnService();

    ProcessEngineConfiguration getProcessEngineConfiguration();
}

数据表说明

表名 说明
act_evt_log 流程引擎通用日志表
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_procdef_info 流程定义的动态变更信息
act_re_deployment 部署信息表
act_re_model 流程设计实体表
act_re_procdef 流程定义数据表
act_ru_deadletter_job 作业失败表,失败次数>重试次数
act_ru_event_subscr 运行时事件表
act_ru_execution 运行时流程执行实例表
act_ru_identitylink 运行时用户信息表
act_ru_integration 运行时综合表
act_ru_job 作业表
act_ru_suspended_job 作业暂停表
act_ru_task 运行时任务信息表
act_ru_timer_job 运行时定时器表
act_ru_variable 运行时变量表
  • ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
  • ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
  • ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。
  • ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。
  • ACT_GE_*: 'GE'表示general。通用数据, 用于不同场景下,如存放资源文件。

 

SpringBoot 整合Activity7

引入依赖

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

 禁用security框架

// 禁用SpringSecurity
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class})
public class ActivitiApplication {

    public static void main(String[] args) {
        SpringApplication.run(ActivitiApplication.class, args);
    }

}

控制台打印SQL语句

logging:
  level:
    org.activiti.engine.impl.persistence.entity: debug

 

遇到的坑

流程设计器不兼容

https://www.cnblogs.com/ReturnOfTheKing/p/18198068

 

 

参考链接

【1】idea的activiti插件

posted @ 2024-05-06 14:02  先娶国王后取经  阅读(4)  评论(0编辑  收藏  举报