依赖
<!--添加activiti和SpringBoot整合的依赖
MyBatis版本会有冲突,所以需要排除,所需数据库的依赖根据需求添加-->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter</artifactId>
<version>7.0.0.SR1</version>
<exclusions>
<exclusion>
<artifactId>commons-io</artifactId>
<groupId>commons-io</groupId>
</exclusion>
<exclusion>
<artifactId>commons-lang3</artifactId>
<groupId>org.apache.commons</groupId>
</exclusion>
<exclusion>
<artifactId>mybatis</artifactId>
<groupId>org.mybatis</groupId>
</exclusion>
</exclusions>
</dependency>
<!--activiti可以绘制流程的的依赖-->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-image-generator</artifactId>
<version>7.0.0.SR1</version>
<exclusions>
<exclusion>
<artifactId>commons-io</artifactId>
<groupId>commons-io</groupId>
</exclusion>
</exclusions>
</dependency>
安装Activiti环境
在idea插件中安装绘图插件
actiBPM
解决中文乱码
在IDEA中将
File–>Settings–>Editor–>File Encodings
修改为UTF-8在IDEA的
Help–>Edit Custom VM Options中末尾添加-Dfile.encoding=UTF-8
在IDEA的安装目录的bin目录下将
idea.exe.vmoptions和idea64.exe.vmoptions
两个文件末尾添加-Dfile.encoding=UTF-8
重启idea
配置文件
spring:
application:
name: actspringboot
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true&serverTimezone=UTC
username: root
password: 0
activiti:
# false:默认值。activiti在启动时,会对比数据库表中保存的版本。如果没有表或者版本不匹配,将抛出异常
# true:activiti会对数据库中所有表进行更新操作,如果表不存在,则会自动创建
# create_drop:在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表)
# drop-create:在activiti启动时删除原来的旧表,然后再创建新表(不需要手动关闭引擎)
# 线上一般使用false,开发中使用true
database-schema-update: true
# 自动部署验证设置:true-开启(默认)、false-关闭
check-process-definitions: false
# 开启历史表
db-history-used: true
# 历史记录存储等级
history-level: full
useP6s
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
url: jdbc:p6spy:mysql://127.0.0.1:3306/activi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
username: root
password: 0
hikari:
minimum-idle: 5
maximum-pool-size: 9
auto-commit: true
idle-timeout: 30000
pool-name: Weblog-HikariCP
max-lifetime: 1800000
connection-timeout: 30000
connection-test-query: SELECT 1
# # activiti验证自动部署(默认开启),activiti会自动部署processes目录下的任何BPMN 2.0流程定义
# 如果开启,需要在resources下创建processes文件夹,并在其中创建流程定义(例如:one-task-process.bpmn20.xml)
# 否则启动项目时会报错:class path resource [processes/] cannot be resolved to URL because it does not exist
#spring.activiti.check-process-definitions=false
activiti:
check-process-definitions: false
database-schema-update: false
- 只是在Spring Boot项目中添加依赖,就会在幕后发生很多事情:
- 自动创建了内存数据库(如果没有配置
spring.datasource.url
的话),并传递给Activiti流程引擎配置 - 创建并暴露了
Activiti ProcessEngine bean
(Activiti核心类) - 所有的
Activiti
服务都暴露为Spring bean
(如RuntimeService、TaskService等) - 创建了
Spring Job Executor
并且,processes目录下的任何BPMN 2.0流程定义都会被自动部署。
- 自动创建了内存数据库(如果没有配置