Flowable工作流引擎怎么用?Flowable工作流引擎入门教程

Flowable 是一个轻量级、高性能的 BPMN(业务流程建模符号)CMMN(案例管理模型与符号) 引擎,它最初是从 Activiti 项目中衍生出来的,由 Activiti 的核心团队成员 Tom Baeyens 和 Joram Barrez 创建。

以下是关于 Flowable 的核心要点介绍:

【2024】最新版本Flowable详细讲解,赶快收藏起来吧
加载中
【2024】最新版本Flowable详细讲解,赶快收藏起来吧

核心特点

  • 轻量级与高性能:相比其前身 Activiti,Flowable 在性能上进行了大量优化,启动更快,内存占用更低。
  • 开源免费:采用 Apache 2.0 许可证,商业友好,无许可证费用。
  • 标准化支持
    • BPMN 2.0:用于定义业务流程。
    • CMMN 1.1:用于案例管理(处理非结构化、不可预测的流程)。
    • DMN 1.3:用于决策模型和决策表。
  • 多数据库支持:支持 MySQL、PostgreSQL、Oracle、SQL Server、H2 等主流数据库。
  • 易于集成:提供 REST API、Java API,并可与 Spring Boot、Spring Cloud 等框架无缝集成。

主要模块

Flowable 不是一个单一的工具,而是一套模块化的引擎:

  • Flowable Engine:核心 BPMN 和 CMMN 引擎。
  • Flowable DMN Engine:用于执行决策表。
  • Flowable REST:提供标准的 RESTful API,便于前端或其他系统调用。
  • Flowable Modeler:基于 Web 的流程设计器(类似 Activiti Modeler),用于可视化创建和编辑流程定义。
  • Flowable Task:任务管理应用,用于查看和处理待办任务。
  • Flowable Admin:管理控制台,用于监控流程实例、用户、角色等。

与 Activiti 的关系

  • 起源:Flowable 是 Activiti 6.x 分支后的独立项目。
  • 区别
    • Flowable 更新更频繁,社区活跃度高。
    • Flowable 对代码进行了重构,性能更好,bug 更少。
    • 两者 API 高度兼容,迁移成本较低。
    • Activiti 已被 Alfresco 收购,而 Flowable 由独立团队维护,更加中立。

典型应用场景

  • 企业工作流审批(如请假、报销、合同审批)。
  • 订单处理流程自动化。
  • 客户服务案例管理(CMMN)。
  • 复杂业务规则引擎(DMN)。

快速开始示例(Spring Boot + Flowable)

添加依赖(Maven)

<dependency>
    <groupId>org.flowable</groupId>
    <artifactId>flowable-spring-boot-starter</artifactId>
    <version>6.8.0</version> <!-- 请使用最新版本 -->
</dependency>

配置 application.yml

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/flowable_db?useSSL=false&serverTimezone=UTC
    username: root
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver
flowable:
  async-executor-activate: false # 生产环境建议设为 true
  database-schema-update: true   # 自动更新数据库表结构

编写流程定义(BPMN XML)

创建一个 leave.bpmn20.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
             targetNamespace="http://flowable.org/bpmn">
    <process id="leaveProcess" name="Leave Process">
        <startEvent id="start" name="Start"/>
        <userTask id="approveTask" name="Approve Leave" flowable:assignee="${approver}"/>
        <endEvent id="end" name="End"/>
        <sequenceFlow id="flow1" sourceRef="start" targetRef="approveTask"/>
        <sequenceFlow id="flow2" sourceRef="approveTask" targetRef="end"/>
    </process>
</definitions>

启动流程

@Service
public class LeaveService {
    @Autowired
    private RuntimeService runtimeService;
    public void startProcess(String employee, String approver) {
        Map<String, Object> variables = new HashMap<>();
        variables.put("approver", approver);
        variables.put("employee", employee);
        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(
            "leaveProcess", 
            "leave-" + System.currentTimeMillis(), 
            variables
        );
        System.out.println("Process started with ID: " + processInstance.getId());
    }
}

官方资源

如果你有关于 Flowable 的具体问题(如如何配置事务、如何处理异常、如何集成前端等),欢迎继续提问!

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/477494.html

(0)
运营人员如何向上级提GEO优化2026?百度SEO长尾词优化技巧
上一篇 2026年7月10日 01:45
高等学校大数据是什么?高校大数据专业就业前景好吗
下一篇 2026年4月29日 04:50

相关推荐

  • 国内服务器哪个品牌好?国内知名服务器品牌排行

    国内知名服务器品牌在稳定性、售后响应速度及合规性上已形成明确梯队,企业选型时应优先考量华为、浪潮、新华三及联想,具体选择需依据业务负载类型与预算规模进行匹配,服务器作为数字基础设施的核心载体,其性能表现直接决定了企业业务的连续性,对于国内用户而言,选择本土知名品牌不仅意味着更低的延迟和更优的本地化服务,更关乎数……

    2026年7月6日
    17300
  • 服务器内存盘是什么?服务器内存盘和固态硬盘区别

    服务器内存盘是将数据直接存储在RAM中的高性能存储方案,其读写速度远超传统SSD,但断电后数据会丢失,因此最适合对IOPS要求极高且允许数据非持久化的场景,如数据库缓存、临时文件处理或高性能计算,在云计算和大数据时代,存储性能往往成为制约业务扩展的瓶颈,传统机械硬盘(HDD)受限于物理结构,随机读写能力极弱;即……

    2026年7月1日
    1700
  • 数学AI解题大模型怎么用?2026最新数学AI解题大模型推荐

    数学AI解题大模型能实现秒级精准解析,通过多模态识别与逻辑链推理,将复杂数学问题拆解为可执行步骤,显著提升解题效率与准确率,是2026年教育科技领域的核心工具,数学ai解题大模型的核心能力解析过去的数学辅导依赖人工批改或简单的公式搜索,而现在的数学ai解题大模型已经进化为具备深度理解能力的智能助手,它不再仅仅是……

    2026年6月15日
    4000
  • 分发网络cdn是什么?如何选择性价比高的cdn服务商

    CDN(内容分发网络)通过在全球部署边缘节点,将静态资源缓存至离用户最近的服务器,从而显著降低延迟、提升加载速度并保障业务稳定性,是2026年互联网基础设施不可或缺的核心组件,想象一下,你开了一家开在市中心旗舰店,但顾客住在遥远的郊区,如果每次顾客买东西都要跑到市中心仓库取货,不仅慢,还容易堵车,CDN就是在这……

    2026年7月6日
    4500
  • 防火墙到底有什么用?网络安全防火墙原理

    防火墙的核心作用是作为网络边界的“守门人”,通过预设的安全规则,监控并控制进出网络的数据流量,从而阻挡未经授权的访问和恶意攻击,保护内部系统免受外部威胁,想象一下,你的家庭网络就像一栋别墅,而防火墙就是那扇带有智能锁和监控系统的防盗门,它不会阻止你正常进出,但会仔细检查每一个试图闯入的“访客”,确保他们持有正确……

    2026年7月1日
    800
  • fileutils是什么?fileutils命令用法详解

    Fileutils是Linux系统下处理文件的基础工具集,掌握其核心命令能显著提升文件管理效率,建议优先熟悉ls、cp、mv、rm等常用指令及其参数组合,在Linux或类Unix操作系统中,文件管理是日常运维和开发中最基础也最高频的操作,很多初学者面对满屏的命令感到困惑,其实只要理清逻辑,这些工具就像手边的螺丝……

    2026年7月8日
    14900
  • AI大模型课程直播哪里学?零基础入门大模型开发教程

    2026年AI大模型课程直播的核心价值在于通过实时交互解决实操痛点,相比录播课,其即时反馈机制能显著降低学习门槛,是快速掌握企业级应用的关键路径,随着人工智能技术从概念走向落地,职场人对AI工具的依赖程度日益加深,传统的图文教程往往滞后于模型迭代速度,而2026年的AI大模型课程直播,正是为了解决“学完不会用……

    2026年6月13日
    2200
  • 服务器跳转和客户端跳转区别是什么?HTTP重定向与JS跳转哪种更好

    服务器跳转(301/302)由后端控制,权重传递稳定且利于SEO;客户端跳转(JS/Meta)由前端控制,响应快但权重流失严重,核心场景下应优先选择服务器端方案,在网页开发的日常维护与重构中,跳转机制的选择往往决定了流量的去向和搜索引擎的收录效率,很多开发者容易混淆这两者的底层逻辑,导致网站改版后出现排名暴跌或……

    2026年7月8日
    18400
  • 最新的大模型ai有哪些?大模型ai哪个好用

    最新的大模型AI已从单纯的技术竞赛转向垂直场景的深度落地,其核心竞争力在于多模态理解能力、自主智能体(Agent)工作流以及针对企业私有数据的低成本微调,普通用户应优先选择集成度高的平台,企业则需关注数据隐私与算力成本平衡,当前的大模型技术生态已经发生了本质变化,早期的“通用问答”模式正在被“任务执行”模式取代……

    2026年6月13日
    2100
  • 国内哪家AI大模型最快?国内好用的AI大模型推荐

    在2026年的国内AI生态中,百度文心一言、阿里通义千问、腾讯混元以及华为盘古等头部模型在响应速度、并发处理能力及特定场景下的落地效率上已形成第一梯队,其中文心大模型凭借百度在搜索与云计算领域的深厚积累,在综合响应速度和中文语境理解上依然保持行业领先优势,但“最快”并非绝对单一指标,而是取决于具体应用场景如实时……

    2026年6月15日
    1700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注