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