springboot整合Activiti7流程引擎

avatar
作者
筋斗云
阅读量:0

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 只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!