springboot整合Activiti7流程引擎

Activiti是一款开源的流程引擎,可以使用Bpmn2.0的标准来绘制bpm工作流;

在我们的日常开发中会经常用到,activiti提供了一款官方的idea插件(Activiti BPMN virtual)来帮助我们开发者可以在idea中快速的绘制流程图并完成开发工作

下面简单介绍一下如何在springboot中整合Activiti

首先我们需要导入依赖

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

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

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

<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>activiti-spring-boot-starter</artifactId>
    <version>7.0.0.GA</version>
</dependency>

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

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

由于Activiti在运行的时候是需要数据表的支持的,所以这里引入了mysql的依赖

然后我们需要对activiti做一些基础配置

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/activiti
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  activiti:
    # 1.false:默认值。activiti在启动时,对比数据库表中保存的版本,如果没有表或者版本不匹配,将抛出异常。
    # 2.true:activiti会对数据库中所有表进行更新操作。如果表不存在,则自动创建
    # 3.create-drop:在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表)
    # 4.drop-create:在activiti启动时删除原来的旧表,然后在创建新表(不需要手动关闭引擎)
    # 检测历史表是否存在 activiti7 默认没有开启数据库历史记录  启动数据库历史记录
    database-schema-update: true
    db-history-used: true
    # 记录历史等级 可配置的历史级别有 none、activity、audit、full
    # none:不保存任何的历史数据,因此,在流程执行过程中,这是最高效的。
    # activity:级别高于none,保存流程实列与流程行为,其他数据不保存。
    # audit:除了activity级别会保存的数据外,还会保存全部的流程任务及其属性。audit为history的默认值。
    # full:保存历史数据的最高级别,除了会保存audit级别的数据外,还会保存其他全部流程相关的细节数据,包括一些流程参数等。
    history-level: full
    # 校验流程文件,默认校验resource下processes文件夹里的流程文件。
    # 自动部署验证设置:true-开启(默认)、false-关闭
    check-process-definitions: true
    # 流程定义文件存放目录,默认路径为 classpath:/processes/
    process-definition-location-prefix: classpath:/bpmn/
server:
  port: 8080

以上就是springboot整合Activiti的一个简单的demo,在运行第一次之后,你的数据库应该会多出25张表,是Activiti用于运行所需要的

Activiti 使用到的表都是 ACT_ 开头的。表名的第二部分用两个字母表明表的用途。

  • ACT_GE_ (GE) 表示 general 全局通用数据及设置,各种情况都使用的数据。
  • ACT_HI_ (HI) 表示 history 历史数据表,包含着程执行的历史相关数据,如结束的流程实例,变量,任务,等等
  • ACT_ID_ (ID) 表示 identity 组织机构,用户记录,流程中使用到的用户和组。这些表包含标识的信息,如用户,用户组,等等。
  • ACT_RE_ (RE) 表示 repository 存储,包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。
  • ACT_RU_ (RU) 表示 runtime 运行时,运行时的流程变量,用户任务,变量,职责(job)等运行时的数据。Activiti 只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个开源的Java开发框架,旨在简化Spring应用程序的开发过程。Activiti是一个开源的工作流和业务流程管理系统,它提供了一个用于设计、执行和监控业务流程的平台。 Spring Boot整合Activiti可以实现流程审批功能。首先,我们需要在pom.xml文件中添加Activiti的依赖。然后,在Spring Boot的配置文件中配置Activiti的相关信息,比如数据库连接、流程定义文件的位置等。 接下来,我们可以定义流程模型,包括流程节点、流程线等。可以使用Activiti提供的图形化工具Activiti Modeler进行可视化设计。然后,将流程模型部署到Activiti引擎。 在代码中,我们可以使用Activiti提供的API来启动流程实例、查询任务、完成任务等。通过编写监听器,我们可以在流程的不同节点上执行自定义的业务逻辑。 为了方便用户对流程的审批操作,我们可以使用Activiti提供的表单功能。通过表单,用户可以填写审批意见、上传附件等。在代码中,我们可以通过获取表单数据来实现流程的控制逻辑。 最后,我们可以使用Activiti提供的监控功能来查看流程的状态和执行情况。Activiti提供了一个可视化的流程监控控制台,可以实时查看流程实例、任务、历史记录等信息。 综上所述,通过Spring Boot整合Activiti,我们可以实现流程审批功能。这使得流程管理更加简单高效,提高了审批流程的可追溯性和可控性。同时,使用Spring Boot的优势,我们可以更加便捷地进行开发和部署。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值