写在前面:一直想学习activity工作流,实现一些流程审批功能,今天终于着手开始,在接下来的博客中,会讲解整合步骤及我之后的疑问,也希望路过的大神能指点一下,我会把大神的指点去验证,并将大佬ID及验证结果写在下一篇博客中。
项目架构:jdk1.8+springboot+springcloud+springsecurity+mybatisplus+redis+activity+jwt+mysql
因为是希望在我自己写的demo项目中来学习并集成,所以用到了这些技术,本系列文章将只针对activity来写。
开始集成:
1、集成第一步肯定是导入jar包,项目使用的maven,这里贴出pom:
<dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter-basic</artifactId><version>6.0.0</version><exclusions><exclusion><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></exclusion></exclusions>
</dependency>
为什么会排除mybatis呢,因为项目集成了mybatisplus包含了mybatis-core,activity中又有mybatis-core,启动项目时会报出jar包冲突错误。
2、修改yml文件
spring:activiti:database-schema-update: truehistory-level: fulldb-history-used: truecheck-process-definitions: falseasync-executor-activate: falseprocess-definition-location-prefix: classpath:/processes/
a、check-process-definitions默认校验resources下的processes文件夹里的流程文件
b、database-schema数据源指定
c、database-schema-update建表规则
flase: 无表或版本不同,启动会有异常
true: 更新表,如果表不存在,则新建
create_drop: 先新建,手动关闭时删除
drop-create: 删除旧的然后新建表
d、db-history-used检测历史表是否存在
e、history-level记录历史等级
f、async-executor-activate是否流程引擎一启动就激活
3、配置类(注入数据源和事务管理器,这里的数据源可以自己重新定义)
@Configuration
public class ActivitiConfig extends AbstractProcessEngineAutoConfiguration {//注入数据源和事务管理器@Beanpublic SpringProcessEngineConfiguration springProcessEngineConfiguration(@Qualifier("dataSource") DataSource dataSource,@Qualifier("transactionManager") PlatformTransactionManager transactionManager,SpringAsyncExecutor springAsyncExecutor) throws IOException {return this.baseSpringProcessEngineConfiguration(dataSource, transactionManager, springAsyncExecutor);}}
4、启动类排除security
@SpringBootApplication(exclude = SecurityAutoConfiguration.class)
启动项目后,会自动在当前数据库下新建表
下一文章 将进行使用!!!!!