开发喵星球

若依分离版集成Camunda7(263)

需求提出

在若依分离版(Ruoyi-Vue)后端框架中集成Camunda 7,以实现工作流和流程自动化。

相关介绍

Camunda是一个基于Java的开源框架,专注于支持:
– 工作流和流程自动化方面的BPMN(Business Process Model and Notation)
– 案例管理的CMMN(Case Management Model and Notation)
– 业务决策管理的DMN(Decision Model and Notation)

Camunda结合了BPMNCMMNDMN等标准,为用户提供了一站式的解决方案,助力他们实现业务流程的优化、自动化和数字化转型。如果你对流程管理、案例管理和决策管理感兴趣,那么Camunda绝对值得一试!

解决思路

  1. ruoyi-common模块中添加Camunda依赖。
  2. application.yml中添加Camunda配置。
  3. 修改数据库连接URL。
  4. 设置匿名访问路径。
  5. 注释掉原有的/index访问路径。
  6. 运行项目并登录Camunda
  7. 检查数据库表以确认集成成功。

所需技术

项目结构树

ruoyi
├── ruoyi-admin
│   └── src
│       └── main
│           └── resources
│               └── application.yml
├── ruoyi-common
│   └── pom.xml
└── ruoyi-framework
    └── src
        └── main
            └── java
                └── com
                    └── ruoyi
                        └── framework
                            └── config
                                └── SecurityConfig.java

注意事项

完整代码

第一步:添加依赖

ruoyi-common模块下的pom.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>

第二步:在application.yml中添加配置

camunda:
  bpm:
    admin-user:
      id: admin  #用户名
      password: 123456  #密码
      firstName: kfm
    filter:
      create: All tasks

第三步:修改数据库连接

在数据库连接的URL中添加&nullCatalogMeansCurrent=true,例如:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&characterEncoding=utf-8&useSSL=false&nullCatalogMeansCurrent=true

第四步:设置匿名访问

ruoyi-framework模块下的config包中的SecurityConfig.java文件中,添加以下配置:

@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
    httpSecurity
        .authorizeRequests()
        .antMatchers("/login", "/register", "/captchaImage").permitAll()
        .antMatchers("/app/**").permitAll()
        .antMatchers("/camunda/**").permitAll()
        // 其他配置...
}

第五步:注释掉原有的/index访问路径

SysIndexController.java中找到原有的/index访问路径配置,并注释掉或删除。

第六步:运行项目并登录Camunda

启动项目后,使用浏览器访问http://<your-ip>:<your-port>/camunda,使用在application.yml文件中设置的管理员账号(admin)和密码(123456)进行登录。

第七步:检查数据库表

第一次启动时,MySQL数据库会自动生成Camunda相关的数据库表。可以在数据库中看到多出49张表。

总结

通过以上步骤,已经成功在若依分离版后端框架中集成了Camunda 7。这样可以利用Camunda强大的流程自动化功能,提升系统的业务流程管理能力。

   
分类:Java/OOP 作者:无限繁荣, 吴蓉 发表于:2024-07-08 14:15:31 阅读量:227
<<   >>


powered by kaifamiao