跳至主要內容
Activiti7 常用 Api

Activiti7 常用 Api

提示

记录一下常用的 Api 使用

一、流程定义相关 Api

以下 Api 跟流程定义相关

根据流程定义 Key查询流程

public ProcessDefinition selectProcessDefinitionByKey(String definitionKey) {
    List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()
        .processDefinitionKey(definitionKey)
        .orderByProcessDefinitionVersion()
        .desc()
        .list();

    ProcessDefinition processDefinition = null;
    if (processDefinitions.size() > 0) {
        processDefinition = processDefinitions.get(0);
    }
    return processDefinition;
}

Zenghr大约 3 分钟Activiti7
Activiti7 填坑笔记

Activiti7 填坑笔记

提示

该文章记录一下使用 Activiti7 时所遇到的一些异常或者坑

Error: UsernameNotFoundException

环境:SpringBoot 集成 Activiti7

Activiti7 版本:7.0.0

异常原因

Activiti7 默认和Spring Security集成了,当我们的项目中不需要Spring Security时,需要排除Spring Security配置,但是 Activiti7 在代码中强耦合了SpringScurity,所以我们在使用 activiti 的 Api 查询候选人任务时会遇到异常


Zenghr小于 1 分钟Activiti7
Activiti7 数据表结构

Activiti7 数据库结构

Activiti7 中25张表的含义

表名 介绍
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 运行时变量表

Zenghr大约 10 分钟Activiti7
Activiti7 进阶笔记

Activiti7 进阶

提示

涉及 流程定义相关、流程实例相关、任务分配、流程变量、任务候选人、网关等操作

流程定义相关

涉及流程定义信息查询、删除以及对应的资源查询下载等操作

查询流程定义

@Test
public void testDefinitionQuery(){
    //创建ProcessEngine对象
    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    //获取仓库服务
    RepositoryService repositoryService = processEngine.getRepositoryService();
    //获取流程定义集合
    List<ProcessDefinition> processDefinitionList = repositoryService
            .createProcessDefinitionQuery()
            .processDefinitionKey("leaveProcess")
            .list();
    //遍历集合
    for (ProcessDefinition definition:processDefinitionList){
        System.out.println("流程定义ID:"+definition.getId());
        System.out.println("流程定义名称:"+definition.getName());
        System.out.println("流程定义key:"+definition.getKey());
        System.out.println("流程定义版本:"+definition.getVersion());
        System.out.println("流程部署ID:"+definition.getDeploymentId());
        System.out.println("====================");
    }
}

Zenghr大约 10 分钟Activiti7
Activiti7 笔记

Activiti7 笔记

一、Activiti7 介绍

Activiti 是一个工作流引擎, activiti 可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言(BPMN2.0)进行定义,业务系统按照预先定义的流程进行执行,实现了业务系统的业务流程由 activiti 进行管理,减少业务系统由于流程变更进行系统升级改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本。

官方网址:https://www.activiti.org/

文章所使用的的 Activiti7 版本为 7.0.0


Zenghr大约 12 分钟Activiti7