1.创建新的模块 rouyi-activity
2.在 rouyi-activity 中加入activity7的依赖
<!--引入activiti的springboot启动器 --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter</artifactId> <version>7.1.0.M6</version> <exclusions> <exclusion> <artifactId>mybatis</artifactId> <groupId>org.mybatis</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-modeler</artifactId> <version>5.22.0</version> </dependency> <!-- Activiti生成流程图 --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-image-generator</artifactId> <version>5.22.0</version> </dependency>
3.在最外层的 pom 文件中引入 ruoyi-activiti 模块
<!-- actviti--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-activiti</artifactId> <version>${ruoyi.version}</version> </dependency>
4.在 ruoyi-admin 的 pom 文件中引入 ruoyi-activiti 模块:
<!-- activiti--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-activiti</artifactId> </dependency>
5.修改 application.yml 文件,添加如下配置
spring: activiti: #1.flase:默认值。activiti在启动时,对比数据库表中保存的版本,如果没有表或者版本不匹配,将抛出异常 #2.true: activiti会对数据库中所有表进行更新操作。如果表不存在,则自动创建 #3.create_drop: 在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表) #4.drop-create: 在activiti启动时删除原来的旧表,然后在创建新表(不需要手动关闭引擎) database-schema-update: true #检测历史表是否存在 activiti7默认没有开启数据库历史记录 启动数据库历史记录 db-history-used: true #记录历史等级 可配置的历史级别有none, activity, audit, full #none:不保存任何的历史数据,因此,在流程执行过程中,这是最高效的。 #activity:级别高于none,保存流程实例与流程行为,其他数据不保存。 #audit:除activity级别会保存的数据外,还会保存全部的流程任务及其属性。audit为history的默认值。 #full:保存历史数据的最高级别,除了会保存audit级别的数据外,还会保存其他全部流程相关的细节数据,包括一些流程参数等。 history-level: full #校验流程文件,默认校验resources下的processes文件夹里的流程文件 check-process-definitions: false main: allow-bean-definition-overriding: true
6.需要注意的是 application-druid.yml中,主库数据源需添加:&nullCatalogMeansCurrent=true,否则启动可能会出现错误,如下:
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: jdbc:mysql://localhost:3306/ruoyi-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true