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
Go语言Gin框架Web开发难吗?Gin框架入门教程
下一篇 2026年7月10日 01:47

相关推荐

  • 怎么用IIS搭建JSP网站?,上架设备是什么

    在IIS上架设JSP网站的关键在于正确配置Java运行环境和ISAPI重定向组件,而服务器上架设备时则需优先考虑机架空间、电源冗余和散热方案,两者结合才能稳定运行生产环境,IIS架设JSP网站需要什么配置不少人在Windows上习惯用IIS做Web服务器,但遇到JSP应用时容易卡住,IIS本身不支持JSP,必须……

    2026年8月14日
    400
  • 服务器job报错怎么办?服务器job任务失败原因

    服务器Job的核心价值在于通过自动化调度实现业务逻辑的解耦与高效执行,选择方案时需根据实时性要求、数据量级及运维成本,在原生工具与专业调度平台之间做出权衡,在数字化运维的语境下,服务器Job不再仅仅是后台默默运行的脚本,而是驱动业务流转的“数字工人”,它们负责处理定时报表、数据清洗、邮件发送以及微服务间的异步通……

    2026年7月7日
    18100
  • 服务器局域网带宽不足怎么解决?局域网带宽限制设置

    在2026年的网络环境下,服务器局域网带宽的核心价值已从单纯的“速度提升”转向“低延迟与高并发稳定性”,对于大多数企业应用而言,百兆内网链路已足够支撑日常业务,而千兆乃至万兆链路则是大数据传输与实时交互的刚需,很多开发者在搭建本地测试环境或部署小型集群时,往往容易忽视局域网带宽的瓶颈效应,当多台服务器通过交换机……

    2026年7月9日
    10200
  • LM Studio嵌入模型怎么用?如何获取高质量文本向量

    LM Studio的嵌入模型主要用于将文本转化为向量,实现语义搜索、知识库检索(RAG)及相似度计算,其核心优势在于支持本地离线运行,保障数据隐私且无需支付API费用,在2026年的AI应用开发中,开发者越来越倾向于将大语言模型(LLM)与嵌入模型(Embedding Models)配合使用,LM Studio……

    2026年6月18日
    2400
  • IIS自动停止怎么办,如何启动停止IIS服务?

    IIS自动停止通常由应用程序池回收配置不当、代码内存泄漏或系统权限冲突引发,最快解决思路是先查看事件查看器日志定位进程退出码,同时运行iisreset /restart恢复服务,再从应用池高级设置中调整回收条件,具体操作步骤展开如下,IIS自动停止 应用程序池回收是首要排查点打开IIS管理器,左侧点击应用程序池……

    2026年8月21日
    300
  • 服务器到底能不能修改内网地址呢?,怎么改

    服务器可以修改内网地址,但需要根据操作系统和网络环境进行相应配置,修改后必须验证连通性并更新所有依赖该IP的配置,为什么需要修改服务器内网地址在服务器日常运维中,修改内网IP是一个常见操作,无论是初始部署时规划错误,还是后期网络扩容、机房迁移,都可能需要调整内网地址,理解背后的原因,能帮你判断是否真的需要动手……

    2026年7月28日
    900
  • iOS测试用例如何编写?,有哪些注意事项

    iOS测试用例是针对iPhone和iPad软件的一套精确作战手册,它用清晰的操作步骤和可验证的预期结果,将测试思路转化为可执行、可追踪、可复用的具体指令,无论是刚入行的测试新人还是独立开发者,掌握编写高质量iOS测试用例的实战经验,直接决定了App能否在App Store审核中顺利过关,以及用户留存率的高低,为……

    2026年8月20日
    300
  • 服务器raid硬盘怎么选?,哪个牌子性价比高?

    服务器RAID硬盘的核心价值在于通过冗余或性能条带化,在数据安全与读写速度之间取得平衡,实际部署时需根据业务场景选择RAID级别和硬盘类型,RAID 5与RAID 10是当前企业级应用中最成熟的两个方案,服务器RAID硬盘怎么选:关键因素对比许多人在选型时纠结于RAID级别的差异,其实只要搞清楚业务对性能和安全……

    2026年7月27日
    500
  • iis日志分析工具如何选,日志分析工具有哪些?

    IIS日志分析工具的本质是帮助你把网站运行状态“翻译”成可读的语言,快速定位问题根源,选工具时不要只看功能列表,还得看你的使用场景和技术水平,为什么你的网站离不开IIS日志分析工具?IIS日志记录着每一次请求的来龙去脉,但这些原始数据又臭又长,普通运维人员根本没法逐行翻看,没有工具辅助,你等于蒙着眼睛做网站优化……

    2026年8月6日
    400
  • iis怎么修改已绑定的网站域名,iis绑定域名后无法访问怎么办

    在IIS管理器中,绑定域名的核心操作是进入网站“绑定”设置,添加或编辑主机名记录,同时确保域名DNS已解析到服务器IP;修改已绑定域名时,只需在绑定列表中找到对应记录进行编辑,或者删除旧记录添加新域名即可,IIS怎么绑定域名?从零开始的操作指南在Windows服务器上使用IIS搭建网站,域名绑定是让用户通过域名……

    2026年8月6日
    200

发表回复

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