由于时间关系,内容将会慢慢更新,如果对相关知识点解释不当,还望朋友们多多指点...
技术版本:Spring boot:2.5.2
Activiti:6.0.0
内容:1、小编使用IDEA作为开发工具,使用maven进行项目管理,项目构建完成以后,pom.xml中引入以下Activiti依赖的坐标(其它Spring、数据库相关的依赖这里不再展示):
org.activiti activiti-spring-boot-starter-basic6.0.0
2、properties.yml配置
server:
port: 9898
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/activiti?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
activiti:
database-schema-update: true
check-process-definitions: false
database-schema-update:数据库更新策略,其取值有如下四种:
(1)false:默认值,a.ctiwiti在启动时,会对比数据库表中保存的版本,如果没有表或者版本不匹配,将抛出异常,(生产环境常用)
(2)true:actixiti会对数据库中所有表进行更新操作。如果表不存在,则自动创建。(开发时常用)
(3)create_drop:在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表),(单元测试常用)
(4)drop_create:在activiti启动时删除原来的旧表,然后在创建新表(不需要手动关闭引擎)
此处参考 https://blog.csdn.net/qq_35899070/article/details/109515180
check-process-definitions: 自动部署验证设置 true-开启(默认)、false-关闭。如果开启该配置,则需要在resources下建立processes文件夹,且该文件夹中不能为空,必须存在BPMN文件,否则会报如下错误:class path resource [processes/] cannot be resolved to URL because it does not exist
3、启动类修改
启动类添加exclude = SecurityAutoConfiguration.class,排除冲突类,代码如下:
@SpringBootApplication(exclude = SecurityAutoConfiguration.class)
经过以上流程,正常启动服务以后,引擎将会在数据库中建立需要的表。但这里有个疑问,小编第一次正常启动服务以后,引擎只建立了16张表,经过共三次的服务重启,才建立完28张表。
至此,Spring boot整合Activiti6.0的第一个步骤就到此完毕了,接下来将整合Activiti在线流程设计器。



