Flowable Spring Boot 集成:Starter 极速搭建完整教程
Flowable Spring Boot 集成Starter 极速搭建完整教程【免费下载链接】flowable-userguideFlowable最新中文文档,ai自动生成BPM体验地址http://flow.je4.cn/#/login项目地址: https://gitcode.com/gh_mirrors/fl/flowable-userguideFlowable Spring Boot 集成一直是 Java 开发者最关心的入门话题。作为一款轻量级的业务流程引擎BPMFlowable 提供了官方flowable-spring-boot-starter让你只需添加一个依赖、写一个主类就能在几分钟内跑起完整的流程引擎。本教程基于官方中文文档整理面向零基础新手带你一步步完成 Flowable Spring Boot 极速搭建从依赖配置、自动部署到数据库切换与监控一篇文章全搞定。 本教程内容参考官方中文文档 ch05a-Spring-Boot.adoc并可在仓库中随时查阅更多细节。为什么选择 Flowable Spring Boot 集成️Spring Boot 的核心思想是约定大于配置而 Flowable 与 Spring Boot 的深度集成正是这一理念的最佳体现。你不需要手动编写繁琐的 XML 配置不需要关心引擎的初始化顺序flowable-spring-boot-starter会为你处理好一切✅ 自动创建流程引擎所需的数据库表✅ 自动暴露ProcessEngine、CmmnEngine、DmnEngine等多个引擎 Bean✅ 所有 Flowable 服务如RuntimeService、TaskService自动注册为 Spring Bean✅ 自动启动 Spring Job Executor支持定时任务与异步任务极速上手添加 flowable-spring-boot-starter 依赖 Flowable Spring Boot 集成第一步就是在pom.xml中添加核心 Starter 依赖。如果不需要引入所有引擎也可以选择只含流程引擎的 Starter本文先从全家桶开始dependency groupIdorg.flowable/groupId artifactIdflowable-spring-boot-starter/artifactId version${flowable.version}/version /dependency接下来编写一个最简单的 Spring Boot 主类就这么简单import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }添加 H2 数据库驱动零配置跑通第一个应用 Flowable 需要数据库存储数据。如果此时直接运行会提示缺少数据库驱动。对于本地体验推荐先引入 H2 内存数据库做到真正的零配置启动dependency groupIdcom.h2database/groupId artifactIdh2/artifactId version1.4.197/version /dependency再次启动应用你会发现控制台自动打印出 H2 表创建日志各引擎IDM、DMN、Form、Content、CMMN、BPMN全部初始化完成Tomcat 在 8080 端口启动。仅仅添加依赖并加上SpringBootApplication注解Flowable Spring Boot 集成就在幕后替你完成了建库、建表、引擎初始化等全部工作。自动部署processes 目录放上流程定义即生效 Flowable Spring Boot 集成有一个非常实用的特性——自动部署。只要在classpath下创建processes目录放入 BPMN 2.0 流程定义文件如one-task-process.bpmn20.xml应用启动时就会自动部署。同理cases目录下的 CMMN 事例、forms目录下的表单定义也会被自动部署。BPMN 2.0 流程定义的核心是从 XML 文件经 Flowable 引擎解析生成包含图形信息的流程定义对象。一个最简单的单任务流程只需寥寥数行 XMLdefinitions xmlnshttp://www.omg.org/spec/BPMN/20100524/MODEL xmlns:flowablehttp://flowable.org/bpmn targetNamespaceExamples process idoneTaskProcess nameThe One Task Process startEvent idtheStart / sequenceFlow idflow1 sourceReftheStart targetReftheTask / userTask idtheTask namemy task / sequenceFlow idflow2 sourceReftheTask targetReftheEnd / endEvent idtheEnd / /process /definitions为了验证部署是否生效可以添加一个CommandLineRunnerBean在应用启动时查询流程定义和任务数量Bean public CommandLineRunner init(final RepositoryService repositoryService, final RuntimeService runtimeService, final TaskService taskService) { return strings - { System.out.println(Number of process definitions : repositoryService.createProcessDefinitionQuery().count()); System.out.println(Number of tasks : taskService.createTaskQuery().count()); runtimeService.startProcessInstanceByKey(oneTaskProcess); System.out.println(Number of tasks after process start: taskService.createTaskQuery().count()); }; }运行后你会看到输出流程定义数量为 1启动流程后任务数从 0 变为 1说明 Flowable Spring Boot 自动部署与流程启动完全正常。更换数据源切换到 MySQL 数据库的最快配置方法 ️默认情况下 H2 内存数据库在应用关闭后数据会丢失。生产环境通常需要切换到 MySQL。Flowable Spring Boot 集成更换数据源非常简单只要在application.properties中提供数据库连接信息并添加对应驱动依赖即可spring.datasource.urljdbc:mysql://127.0.0.1:3306/flowable-spring-boot?characterEncodingUTF-8 spring.datasource.usernameflowable spring.datasource.passwordflowabledependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version5.1.45/version /dependency移除 H2 依赖后重启应用控制台会打印flowable.mysql.create.engine.sql等建表日志说明引擎已连接 MySQL 并使用 HikariCP 连接池。多次重启后任务数量不再丢失这就是持久化数据库带来的好处。调试技巧如何查看 Flowable 运行时数据 在开发阶段使用 H2 内存数据库调试单元测试时如何直观地查看 Flowable 数据官方文档给出了一套非常好用的调试方法在测试代码中打上断点以 Debug 模式运行 JUnit 测试然后在 IDE 的 Display 窗口中执行org.h2.tools.Server.createWebServer(-web).start()随后浏览器访问http://localhost:8082填入内存数据库 JDBC URL默认jdbc:h2:mem:flowable即可连接。此时你可以直接查询ACT_RU_TASK等引擎表实时观察任务的创建情况帮助理解流程执行的每一步。这一技巧对新手排查流程为什么没走到预期节点这类问题非常有效官方文档 ch04-API.adoc 的调试单元测试章节有完整截图说明。暴露 REST API在 Spring Boot 中快速封装接口 Flowable Spring Boot 集成的另一个亮点是 REST 支持。添加spring-boot-starter-web依赖后你只需注入RuntimeService和TaskService就能轻松封装业务接口Service public class MyService { Autowired private RuntimeService runtimeService; Autowired private TaskService taskService; Transactional public void startProcess() { runtimeService.startProcessInstanceByKey(oneTaskProcess); } Transactional public ListTask getTasks(String assignee) { return taskService.createTaskQuery().taskAssignee(assignee).list(); } }再用RestController暴露端点用 curl 即可调用curl -X POST http://localhost:8080/process启动流程curl http://localhost:8080/tasks?assigneekermit查询某人的待办任务列表。监控与运维Actuator 端点查看流程运行状态 Flowable 提供了 Spring Boot Actuator 端点默认映射到/actuator/flowable。Spring Boot 默认只开启info与health需要在application.properties中显式启用management.endpoint.flowable.enabledtrue启用后调用curl http://localhost:8080/actuator/flowable就能拿到完整统计信息包括已部署的流程定义、运行中的流程实例数、已完成任务数等非常便于线上监控{ deployedProcessDefinitions: [oneTaskProcess (v1)], processDefinitionCount: 1, runningProcessInstanceCount: {oneTaskProcess (v1): 0}, completedTaskCount: 2, openTaskCount: 0 }常用配置参数速查表 Flowable Spring Boot 集成支持通过application.properties灵活调整行为以下是几个高频参数配置项作用flowable.check-process-definitions是否自动部署流程定义默认trueflowable.database-schema-update数据库 schema 更新策略flowable.history-level历史级别如auditflowable.process.async-executor-activate是否启用异步执行器flowable.process.servlet.pathBPMN REST API 路径默认/process-apiflowable.cmmn.enabled是否启用 CMMN 引擎完整的参数列表含邮件、HTTP、LDAP、Actuator 等可查阅 ch05a-Spring-Boot.adoc 的配置 Flowable 应用章节。进阶整合多个 Starter 与自定义异步执行器 如果只需部分引擎可以按需组合依赖例如同时使用流程、CMMN、Form 引擎并集成 LDAPdependency groupIdorg.flowable/groupId artifactIdflowable-spring-boot-starter-process/artifactId version${flowable.version}/version /dependency dependency groupIdorg.flowable/groupId artifactIdflowable-spring-boot-starter-cmmn/artifactId version${flowable.version}/version /dependency异步执行器方面流程与 CMMN 引擎默认共享同一个 SpringTaskExecutor如需区分可用Process与Cmmn注解分别定义专门的执行器 Bean实现更精细的资源控制。写在最后 ✨本文带你走完了 Flowable Spring Boot 集成的全流程从添加flowable-spring-boot-starter依赖、零配置启动、自动部署流程定义到切换 MySQL、调试数据、暴露 REST API 与 Actuator 监控。可以看到得益于 Starter 的约定大于配置整个搭建过程几乎没有繁琐的 XML 配置非常适合新手快速上手。如果本文对你有帮助欢迎收藏后续还可以继续深入 BPMN 建模、网关编排与流程引擎高级调优探索更多 Flowable 的能力边界。【免费下载链接】flowable-userguideFlowable最新中文文档,ai自动生成BPM体验地址http://flow.je4.cn/#/login项目地址: https://gitcode.com/gh_mirrors/fl/flowable-userguide创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Wand-Enhancer 完整上手指南:免费解锁 WeMod 高级功能与远程控制面板实测

Wand-Enhancer 完整上手指南:免费解锁 WeMod 高级功能与远程控制面板实测

Wand-Enhancer 完整上手指南:免费解锁 WeMod 高级功能与远程控制面板实测 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 如果你正在寻…

2026/10/21 10:04:13 阅读更多 →
告别多选题分析焦虑:六种方法精准拆解问卷数据

告别多选题分析焦虑:六种方法精准拆解问卷数据

1. 项目概述:从“不会分析”到“精准拆解”的思维跃迁 每次看到问卷数据里那一堆多选题,你是不是就有点头疼?选项之间勾勾连连,数据密密麻麻,Excel的“计数”功能好像不太够用,SPSS里点来点去也不知道选哪个…

2026/10/21 4:40:45 阅读更多 →
【信息科学与工程学】【通信工程】第一百五十九篇 Cloud WAN/Cloud Fabric 的数学建模02

【信息科学与工程学】【通信工程】第一百五十九篇 Cloud WAN/Cloud Fabric 的数学建模02

将 L1 光层+电层 ~ L3 层的理论体系与各家云网络的真实配置对象对齐,深度融合光学(光子集成电路 PIC、调制/探测、光放大)与电学(DSP、DAC/ADC、Driver/TIA、SerDes、FEC)的协同设计数学物理基础。 补充表格(编号 216-223:L1~L3 层 八大云厂商 光电融合设计) 编号 学…

2026/10/21 1:51:11 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/21 9:32:40 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/21 9:32:40 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/21 9:32:40 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/21 9:32:40 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/21 9:32:40 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/21 9:31:32 阅读更多 →

日新闻

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/22 1:47:45 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/21 21:32:28 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/22 5:12:39 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 21:50:56 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 21:51:55 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 16:24:48 阅读更多 →