若依分离版后端集成 Camunda 7 工作流引擎

一、Camunda 简介

Camunda 是一款基于 Java 的开源流程自动化平台,主要聚焦以下三个核心领域:

  • 工作流与流程自动化(BPMN)

    使用 BPMN(业务流程模型与标注)完成流程建模、自动执行与监控。

  • 案例管理(CMMN)

    适用于各种非线性、不可预定义步骤的业务场景。

  • 决策管理(DMN)

    通过决策表管理业务规则,使流程逻辑更加清晰灵活。

Camunda 将 BPMN、CMMN、DMN 三种规范统一整合,提供了完整的流程建模、执行、监控能力,是后端流程引擎集成的理想选择。若依项目中接入 Camunda,可显著提升业务流程的自动化程度。

二、添加 Camunda 依赖

在 ruoyi-common 模块的 pom.xml 中引入 Camunda Spring Boot Starter 相关依赖:

XML 复制代码
<!-- Camunda 工作流依赖 -->
<dependency>
    <groupId>org.camunda.bpm.springboot</groupId>
    <artifactId>camunda-bpm-spring-boot-starter</artifactId>
<version>7.16.0</version>
</dependency>
<dependency>
    <groupId>org.camunda.bpm.springboot</groupId>
    <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
    <version>7.16.0</version>
</dependency>
<dependency>
    <groupId>org.camunda.bpm.springboot</groupId>
    <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
    <version>7.16.0</version>
</dependency>

引入后,Camunda 的流程引擎、REST API 以及 Web 管理界面将自动启用。

三、在 application.yml 中添加基础配置

为了正常登录 Camunda 后台,需要在 application.yml 中配置管理员信息与过滤条件:

XML 复制代码
camunda:
  bpm:
    admin-user:
      id: admin
      password: 123456
      firstName: kfm
    filter:
      create: All tasks

配置完成后,Camunda 会在首次启动时自动创建此管理员账号。

四、修改数据库连接 URL

Camunda 使用自动建表机制,为确保扫描数据库 catalog 正常,需要在数据库链接末尾追加:

XML 复制代码
&nullCatalogMeansCurrent=true

若省略此参数,Camunda 可能无法定位库表,从而导致初始化失败。

五、配置匿名访问权限

Camunda Web 管理界面需要对静态资源、API 接口开放访问,因此需在 ruoyi-framework 模块中的 SecurityConfig.java 添加匿名放行策略:

java 复制代码
.antMatchers("/login","/register","/captchaImage").permitAll()
.antMatchers("/app/**").permitAll()
.antMatchers("/camunda/**").permitAll()

此操作确保 Camunda 的 Webapp 和 REST API 能正常访问。

六、注释原有 /index 路径映射

由于若依默认提供 /index 路由,而 Camunda Webapp 同样使用 /app 系列入口,为避免冲突,需要注释掉项目中与 Camunda 路径冲突的 /index 路径。

完成后,Camunda 的管理页面将保持正常访问。

七、启动项目并登录 Camunda

运行后端服务后,通过浏览器访问 Camunda Web 管理界面地址(服务器 IP + 项目端口),使用前面配置的管理员账号进行登录:

登录成功后即可看到 Camunda 的控制台,包括流程定义、任务管理、部署情况等模块。

八、检查 Camunda 自动生成的数据库表

首次启动时,Camunda 会在指定的 MySQL 数据库中自动创建 49 张系统表,涵盖流程实例、任务、授权、部署记录等多种数据结构。

当这些表成功生成且引擎启动无报错时,说明 Camunda 已成功集成到若依后端系统中。

通过上述步骤,若依分离版后端已顺利完成与 Camunda7 工作流引擎的集成工作。此后即可在项目中实现流程建模、流程驱动业务、任务管理等功能,为业务自动化提供强大支撑。

相关推荐
SL_staff12 分钟前
物模型三要素误用避坑指南:属性、事件、服务的正确建模逻辑
java
一条泥憨鱼17 分钟前
【Redis | 黑马点评】短信登录功能 源码深度分析
java·redis·后端·session·黑马点评
威哥爱编程21 分钟前
【AI全栈12-12】Spring Boot 3.x → 4.x 迁移实操:Jakarta 11、Jackson 3 与 AI 2.0
java·spring boot·后端
威哥爱编程26 分钟前
【AI全栈12-11】Spring Boot 把 AI 接口真正上线扛量:限流 / 降级 / 可观测
java·spring boot·后端
小蒜学长27 分钟前
基于SpringBoot+uni-app的闪洁家政系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·uni-app·家政服务
敲代码的彭于晏43 分钟前
2026 K8s 零基础入门:手把手教你一步步搭建 Kubernetes 集群
java·运维·全栈
希洛兔1 小时前
状态模式详解:让对象随内部状态自动改变行为
java·设计模式·状态模式
需要8261 小时前
Spring Boot 启动流程:run() 里到底发生了什么
java·spring boot·后端
云絮.1 小时前
Mybatis(一)
java·数据库·mybatis
希洛兔2 小时前
里氏替换原则详解:子类必须能透明替换基类(含继承风险演示 + 正确重构 + JDK 案例)
java·里氏替换原则