博客
关于我
Spring Boot + flowable 快速实现工作流
阅读量:796 次
发布时间:2023-03-22

本文共 2173 字,大约阅读时间需要 7 分钟。

Flowable工作流配置与使用指南

Flowable 是一款流程引擎,支持流程建模、执行和管理,适用于企业级工作流解决方案。本文将介绍 Flowable 的安装配置、工作流模型创建以及项目开发实现。

Flowable 安装与配置

  • 下载 Flowable 引擎

    访问 Flowable 官方网站,下载最新版本的 Flowable-6.6.0.zip 文件。将压缩包中的 flowable-6.6.0\wars\flowable-ui.war 部署到 Tomcat服务器中运行。

  • 启动 Flowable UI

    打开 Tomcat 服务器地址 http://localhost:8080/flowable-ui,使用默认账户 admin/test 登录。

  • 创建工作流模型

    在 Flowable UI 的 APP.MODELER 模型中绘制流程图。流程图元素包括:

    • 开始结束 圆圈:表示流程起点和终点。
    • 顺序流:流程中元素间的连接线。
    • 网关:控制流程执行方向的菱形节点。
    • 用户任务:需要人工执行的任务节点。
  • Flowable 项目开发

    1. 项目依赖管理

    在项目 pom.xml 中添加以下依赖:

    org.flowable
    flowable-spring-boot-starter
    6.6.0
    mysql
    mysql-connector-java
    5.1.45

    2. 配置 application.yml

    在项目根目录下创建 application.yml 文件:

    spring:
    datasource:
    url: jdbc:mysql://localhost:3306/flowable?useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT+8
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: 123456

    Flowable 引擎 API 使用

    Flowable 提供多种核心服务接口:

    • RepositoryService:管理和部署流程定义。
    • RuntimeService:启动流程实例。
    • HistoryService:查询流程历史数据。

    1. 部署流程定义

    将 Flowable 的 BPMN 文件导入项目,使用 RepositoryService 部署流程定义。例如,部署 leave_approval.bpmn20.zip 文件:

    Deployment deployment = repositoryService.createDeployment()
    .addZipInputStream(zipInputStream)
    .deploy();

    2. 启动流程实例

    使用 RuntimeService 启动流程实例:

    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(
    "leave_approval",
    "schoolleave"
    );

    3. 任务分配与执行

    根据业务需求分配任务执行用户,使用 TaskService 查询和完成任务:

    List
    taskList = taskService.createTaskQuery()
    .taskCandidateGroup("stu_group")
    .orderByTaskCreateTime().desc()
    .list();
    for (Task task : taskList) {
    taskService.claim(task.getId(), "my");
    taskService.complete(task.getId());
    }

    Flowable 工作流优化

    1. 流程模型保留

    在 Flowable UI 中,保留流程模型文件并设置流条件。例如,网关出口设置条件表达式:

    ${command == 'agree'}

    2. 任务分配

    在用户任务节点中设置候选组或直接分配到指定用户。例如:

    3. 导出流程文件

    将流程文件导出为 ZIP 格式,方便部署和使用。

    Flowable 安全与管理

    Flowable 提供强大的安全功能,包括:

    • RBAC 动态权限管理
    • 多租户支持
    • 数据权限控制

    通过 IdentityService 配置用户和组,确保流程执行安全高效。

    工作流示例

    以请假审批流程为例:

  • 学生提交请假申请。
  • 老师审批通过或拒绝。
  • 校长最终审批通过或拒绝。
  • 根据审批结果更新请假状态。
  • 通过以上配置和实现,可以快速搭建 Flowable 工作流系统,满足企业级流程管理需求。

    欢迎关注我的技术博客,获取更多实用文章与源码分享。

    转载地址:http://msqfk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现操作MySQL(附完整源码)
    查看>>
    Objective-C实现操作注册表 (附完整源码)
    查看>>
    Objective-C实现改变图片亮度算法(附完整源码)
    查看>>
    Objective-C实现数字图像处理算法(附完整源码)
    查看>>
    Objective-C实现数组切片(附完整源码)
    查看>>
    Objective-C实现数组去重(附完整源码)
    查看>>
    Objective-C实现数组的循环左移(附完整源码)
    查看>>
    Objective-C实现数除以二divideByTwo算法(附完整源码)
    查看>>
    Objective-C实现文件分割(附完整源码)
    查看>>
    Objective-C实现文件的删除、复制与重命名操作实例(附完整源码)
    查看>>
    Objective-C实现无序表查找算法(附完整源码)
    查看>>
    Objective-C实现无锁链表(附完整源码)
    查看>>
    Objective-C实现无锁链表(附完整源码)
    查看>>
    Objective-C实现时间戳转为年月日时分秒(附完整源码)
    查看>>
    Objective-C实现是否为 Pythagoreantriplet 毕氏三元数组算法(附完整源码)
    查看>>
    Objective-C实现显示响应算法(附完整源码)
    查看>>
    Objective-C实现晚捆绑测试实例(附完整源码)
    查看>>
    Objective-C实现普通矩阵A和B的乘积(附完整源码)
    查看>>
    Objective-C实现更新数字指定偏移量上的值updateBit算法(附完整源码)
    查看>>
    Objective-C实现最大类间方差法OTSU算法(附完整源码)
    查看>>