开发喵星球

RuoYi 框架集成 Activiti 工作流(393)

本文将介绍如何在 RuoYi 框架中集成 Activiti 工作流,实现业务流程管理的功能。
前提条件:已创建新模块 ruoyi-activiti

一、环境准备

1. 在 ruoyi-activiti 模块中引入依赖

首先,在 ruoyi-activiti 模块的 pom.xml 文件中添加如下依赖:

<dependencies>
    <!-- Activiti 核心依赖 -->
    <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-spring-boot-starter</artifactId>
        <version>7.1.0.M6</version>
    </dependency>
    <dependency>
        <groupId>org.activiti.dependencies</groupId>
        <artifactId>activiti-dependencies</artifactId>
        <version>7.1.0.M6</version>
        <type>pom</type>
    </dependency>

    <!-- RuoYi 必需模块 -->
    <dependency>
        <groupId>com.ruoyi</groupId>
        <artifactId>ruoyi-framework</artifactId>
    </dependency>
    <dependency>
        <groupId>com.ruoyi</groupId>
        <artifactId>ruoyi-system</artifactId>
    </dependency>
    <dependency>
        <groupId>com.ruoyi</groupId>
        <artifactId>ruoyi-common</artifactId>
    </dependency>

    <!-- MyBatis 和 Apache POI -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>4.1.2</version>
    </dependency>
</dependencies>

2. 在项目的根 pom.xml 中引入 ruoyi-activiti 模块

为了使 ruoyi-activiti 模块参与构建流程,需要在项目的最外层 pom.xml 文件中添加依赖:

<!-- Activiti 模块 -->
<dependency>
    <groupId>com.ruoyi</groupId>
    <artifactId>ruoyi-activiti</artifactId>
    <version>${ruoyi.version}</version>
</dependency>

3. 在 ruoyi-admin 模块中添加 Activiti 依赖

确保 ruoyi-admin 模块能够调用 Activiti 服务,在其 pom.xml 文件中添加以下依赖:

<!-- Activiti 模块 -->
<dependency>
    <groupId>com.ruoyi</groupId>
    <artifactId>ruoyi-activiti</artifactId>
</dependency>

4. 配置 application.yml 文件

修改 ruoyi-activiti 模块的 application.yml,为 Activiti 配置数据库更新、历史记录等功能:

spring:
  activiti:
    database-schema-update: true         # 启动时自动更新数据库表结构
    db-history-used: true                # 启用数据库历史记录
    history-level: full                  # 设置历史记录级别为 full
    check-process-definitions: false     # 禁用对流程文件的校验
  main:
    allow-bean-definition-overriding: true  # 允许覆盖 Bean 定义

说明:
database-schema-update 的其他选项:
false:不自动更新数据库表,版本不匹配时抛出异常。
create-drop:启动时创建表,关闭时删除表。
drop-create:启动时删除旧表并重新创建表。
history-level 的可选值:
none:不保存历史记录。
activity:仅保存流程实例与行为信息。
audit:保存任务及其属性信息。
full:保存所有流程相关细节。

5. 配置安全拦截器放行 Activiti 请求

为确保 Activiti 的接口可以正常访问,需要在安全配置文件中放行其路径:

文件路径:ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java

.antMatchers("/activiti/**").permitAll()

二、安装 Activiti 环境

为便捷地绘制流程图,可以在 IDEA 中安装 Activiti 绘图插件:
1. 打开 IDEA 的插件市场(File -> Settings -> Plugins)。
2. 搜索并安装支持 .bpmn 文件的插件,如 Camunda ModelerActiviti Designer
3. 安装完成后重启 IDEA,右键新建 .bpmn 文件即可开始流程设计。

三、使用 Activiti 工作流

在完成上述配置后,新建一个 .bpmn 文件即可开始使用 Activiti 工作流。例如,可以设计一个简单的审批流程,通过部署和启动流程定义实现动态管理业务流程。

小结

通过以上步骤,我们成功在 RuoYi 框架中集成了 Activiti 工作流。该集成方案充分利用了 RuoYi 的模块化特性,将 Activiti 的功能独立封装在新模块中,方便维护和扩展。接下来,可以根据业务需求设计具体的流程,实现业务自动化与精细化管理。

如需了解更多内容,可查阅 Activiti 官方文档: https://www.activiti.org/ 或参考社区最佳实践。

   
分类:Java/OOP 作者:无限繁荣, 吴蓉 发表于:2024-11-18 18:15:48 阅读量:60
<<   >>


powered by kaifamiao