Activiti工作流引擎整合系列【收藏可做笔记系列】,这份354页笔记的前端进阶知识+大厂高频面试题

本文深入分析了Activiti与Spring的整合流程,包括加载配置、SpringBoot集成、数据库配置以及SpringSecurity的整合。通过示例介绍了如何在SpringBoot应用中配置Activiti7,使用相关依赖,配置application.yml,编写启动类,以及如何处理安全框架配置。
摘要由CSDN通过智能技术生成

2)、执行流程分析

下面我们一起来分析Activiti与Spring整合加载的过程。

1、加载activiti-spring.xml配置文件

2、加载SpringProcessEngineConfiguration对象,这个对象它需要依赖注入dataSource对象和transactionManager对象。

3、加载ProcessEngineFactoryBean工厂来创建ProcessEngine对象,而ProcessEngineFactoryBean工厂又需要依赖注入processEngineConfiguration对象。

4、processEngine对象来负责创建我们的Service对象,从而简化Activiti的开发过程。

二、Activiti7与SpringBoot整合开发

====================================================================================

Activiti7发布正式版之后,它与SpringBoot2.x已经完全支持整合开发。

2.1 SpringBoot整合Activiti7的配置


为了能够实现SpringBoot与Activiti7整合开发,首先我们要引入相关的依赖支持。

在工程的pom.xml文件中引入相关的依赖,其中activiti的依赖是:activiti-spring-boot-starter。

具体依赖如下所示:

org.springframework.boot

spring-boot-starter-parent

2.1.0.RELEASE

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<java.version>1.8</java.version>

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-jdbc

org.springframework.boot

spring-boot-starter-test

org.activiti

activiti-spring-boot-starter

7.0.0.Beta2

mysql

mysql-connector-java

5.1.29

org.projectlombok

lombok

org.springframework.boot

spring-boot-maven-plugin

通过该pom.xml文件所导入的坐标,我们就可以实现activiti7与Springboot整合。

2.2 SpringBoot的application.yml文件配置


为了能够实现Activiti7生成的表放到Mysql数据库中,需要在配置文件application.yml中添加相关的配置

注意:activiti7默认没有开启数据库历史记录,需要手动配置开启

spring:

datasource:

url: jdbc:mysql:///actspringboot?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT

username: root

password: 123456

driver-class-name: com.mysql.jdbc.Driver

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文件夹里的流程文件

<
  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值