Activiti7与Spring Boot整合

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

注意事项

  1. Activiti7版本号与Spring Boot版本号的兼容性
  2. 数据库的配置和连接必须正确
  3. 在创建流程定义时,需要使用正确的文件路径和文件名

实战版本:

  1. Activiti7版本号 7.1.0.M2
  2. Spring Boot版本号 2.3.1.RELEASE

整合步骤

因Activiti7已整合spring框架,并提供了starter,所以在pom文件中添加该starter的依赖,我们就可以实现activiti7与Springboot整合。

  1. SpringBoot整合Activiti7的配置

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

<!-->Activiti<-->
<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>activiti-spring-boot-starter</artifactId>
    <version>7.1.0.M2</version>
</dependency>

<!-- mysql -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

<!-- druid连接 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>
  1. SpringBoot的application.properties文件配置

为了能够实现Activiti7生成的表放到Mysql数据库中,需要在配置文件application.yml中添加相关的配置
注意:activiti7默认没有开启数据库历史记录,需要手动配置开启

# 数据库配置
spring.datasource.driver-class-name:com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username:root
spring.datasource.password:root

# 配置activiti
# true:activiti会对数据库表进行更新。如果表不存在,则创建
# false:默认值,activiti启动,会对比数据库表保存的版本,如果没有表或版本不匹配,会抛异常。
spring.activiti.database-schema-update=true

# activiti7需要手动开启记录
spring.activiti.db-history-used=true
spring.activiti.history-level=full
  1. 测试集成结果
image.png
  1. 创建数据表

ProcessEngines.getDefaultProcessEngine()会在第一次调用时 初始化并创建一个流程引擎,以后再调用就会返回相同的流程引擎。 使用对应的方法可以创建和关闭所有流程引擎:ProcessEngines.init()和ProcessEngines.destroy()。

@SpringBootTest
public class createTableTest {
    @Test
    public void initTable() {
        //1,获取progressEngine对象
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        System.out.println(engine);
    }
}

系统将生成activiti的25个数据表:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容