资讯动态

JeecgBoot 接入 Flowable 工作流:从配置到上线的完整指南

发布时间:2026/8/31 9:42:59 来源:尧图企业网站定制
JeecgBoot 接入 Flowable 工作流从配置到上线的完整指南【免费下载链接】jeecg-boot【低代码v2.0一句话即可生成整个系统】企业级AI低代码平台一键生成前后端代码甚至整个系统。 AI Skills 一句话画流程、设计表单、生成报表、大屏。内置 AI应用平台涵盖AI聊天、知识库、流程编排、MCP插件等兼容主流大模型。引领AI低代码「Skills 生成 → 在线配置 → 代码生成 → 手工合并-AI修改」开发模式解决 Java 项目 90% 重复工作提高效率又不失灵活。项目地址: https://gitcode.com/GitHub_Trending/je/jeecg-boot想给 JeecgBoot 项目加一条审批流程绕不开Flowable 流程引擎。这篇讲的就是 JeecgBoot 工作流的落地实操依赖怎么选、哪些配置少了就跑不通、中文乱码怎么解决、流程表单挂接怎么设计最后给一份上线前检查清单。目标很明确读完你能把一条提交-审批-归档的流程真正跑起来。为什么 JeecgBoot 配上 Flowable 能干审批这件事审批流的痛点不在画流程图而在三件事流程状态跟数据要一致、表单要跟节点绑定、权限要跟公司账号体系打通。状态一致谁在哪个节点、卡了几天、能不能回退由引擎托管而不是靠业务代码手写状态机表单绑定开始节点挂申请表单审批节点挂意见表单结束节点归档权限打通任务必须落到 JeecgBoot 的真实用户上而不是流程引擎里的影子账号所以选型思路是引擎管流转JeecgBoot 管账号、表单和界面。Flowable 选 6.7.2这个版本和 JeecgBoot 的 Spring Boot 基线兼容性好也是本文所有配置的基准版本。最小可用配置JeecgBoot 集成 Flowable 的起步清单先把它跑起来。依赖、关键配置、常见坑这里一次讲清。核心依赖就是这一条版本统一放在 properties 里properties flowable.version6.7.2/flowable.version /properties dependencies !-- Flowable核心依赖 -- dependency groupIdorg.flowable/groupId artifactIdflowable-spring-boot-starter/artifactId version${flowable.version}/version /dependency /dependencies作用是引入引擎本体。starter 会帮你完成表结构创建和服务装配不用手写一堆 Bean。配置上有三个键不能少flowable: # 异步执行器激活 async-executor-activate: true # 数据库模式更新策略 database-schema-update: true # 流程定义文件位置 process-definition-location-prefix: classpath*:/processes/ process-definition-location-suffixes: **.bpmn20.xml, **.bpmn第一行让引擎启动异步作业第二行让引擎自己把 ACT_ 开头的表建好省掉一次手动导表后两行决定 BPMN 文件放哪、叫什么后缀。引擎层面的个性化配置建议用一个实现EngineConfigurationConfigurer的配置类统一收口后面讲字体时你会用到它。如果要用 JeecgBoot 自带的在线设计器再补几个 UI 模块的依赖按需取舍依赖用途是否必加flowable-ui-modeler-rest设计器 REST API要在线画图才加flowable-ui-modeler-conf设计器页面配置同上flowable-ui-task-conf任务处理页面同上flowable-ui-admin-conf管理控制台可选flowable-ui-idm-conf身份管理页面可选接进现有系统的三个坑跑通最小配置只是开始下面三个问题你大概率会碰到。按现象 → 解法走一遍。流程图的中文变方块Flowable 中文乱码怎么解决现象生成的流程图片、导出的 PDF 里中文字符全是一排方块。原因是引擎画图时用的是默认字体不认中文字。解法在配置类里加三行核心就这几行作用是告诉引擎活动名、标签、注释统一用宋体渲染Configuration public class FlowableConfig implements EngineConfigurationConfigurerSpringProcessEngineConfiguration { Override public void configure(SpringProcessEngineConfiguration cfg) { // 中文字体支持活动、标签、注释 cfg.setActivityFontName(宋体); cfg.setLabelFontName(宋体); cfg.setAnnotationFontName(宋体); } }改完重启重新生成一张流程图验证。如果服务器是精简 Linux 镜像字体还出不来那就是系统里没装中文字体文件往字体目录补一份 TTF 再重启。设计器要登录两次安全认证怎么接现象打开设计器页面跳出来的却是 Flowable 自己的登录框跟 JeecgBoot 的 Shiro 体系完全是两套用户体验割裂。解法是绕开 Flowable 内置登录把相关路径放行。思路就一句话用一个更高优先级数值更小的安全配置类覆盖默认的表单登录策略对/modeler/**和/flowable/**走permitAll()。关键参数对齐如下优先级取SecurityConstants.FORM_LOGIN_SECURITY_ORDER - 1保证排在内置配置前面关闭 CSRF、关闭 frameOptions 校验设计器嵌 iframe 时才打得开放行路径就两条/modeler/**和/flowable/**放行后真正的这个人是谁交给下一个坑解决而不是靠设计器自带登录。任务不知道是谁干的用户身份怎么传现象流程能走但任务的历史记录里用户名是空的或者错挂在某个系统账号上。Flowable 不会自动感知 JeecgBoot 的登录态得你递给它。解法分两步。先写一个认证上下文从 JeecgBoot 的登录体系里取当前用户public class MyAuthenticationContext implements AuthenticationContext { Override public String getAuthenticatedUserId() { // 换成 JeecgBoot 获取当前登录用户的方法 return SecurityUtils.getCurrentUserId(); } }核心就这几行作用是把当前操作人的取值逻辑收口到一个类里。再写一个启动监听器在ContextRefreshedEvent里调Authentication.setAuthenticationContext(...)把它挂上去。从这一刻起谁启动流程、谁完成任务引擎历史里记录的都是 JeecgBoot 的真实用户。把流程画出来设计器、表单挂接与数据流转引擎就绪后剩下的事是画流程和绑表单。JeecgBoot 的设计器走前后端分离前端是 BPMN.js 可视化组件加表单设计面板节点库覆盖开始/结束、用户任务、网关、服务任务四类你拖出来的最终是一份标准 BPMN XML走接口部署给引擎。流程表单挂接有三种模式选型先想清楚表单内容什么时候能确定挂接模式表单何时确定适用场景静态表单部署流程时就绑定固定模板流程长期固定如常规请假审批动态表单运行时按流程实例拉配置再渲染同一流程不同申请人看到不同字段外部表单表单在业务系统里走 API 交换数据审批只是入口主数据别处维护节点级别的约定也要先定好节点类型表单配置典型用途开始节点必须配置收集启动数据如请假申请表单用户任务可选配置补录处理数据如审批意见服务任务不配置系统自动处理如数据同步结束节点不配置归档数据怎么在节点间走靠流程变量。发起时前端把表单字段交给后端后端启动流程实例时整体setVariables实例 ID 原路返回流程走到下一个用户任务前端按节点加载对应表单处理人补录后提交后端完成任务时再把新数据写进变量流程继续。也就是说表单属于节点数据属于变量引擎只认变量界面只认表单这就是流程与业务表单松耦合的落点。两个进阶特性看业务需要再上条件显隐按流程变量控制字段可见比如病假才要求传证明和字段级权限同一节点不同角色可见可改的字段不一样。上线前检查清单部署前按顺序过一遍都是可执行的验证动作查库流程库里有ACT_开头的表说明引擎初始化成功访问设计器端点/flowable-ui页面能打开、能登录进主系统写个用例注入RepositoryService确认 Bean 正常装配走一条最小流程核对历史任务里的用户就是 JeecgBoot 登录账号容易翻车的几个点直接对照排查Liquibase 变更日志表名要加ACT_DE_前缀changelog 固定在META-INF/liquibase/flowable-modeler-app-db-changelog.xmlFlowable 版本务必和 Spring Boot 基线对齐6.7.2 是本文验证过的组合不想让流程表挤占主库时给 Flowable 配独立数据源和独立事务管理器即可隔离写在最后整个接入链路其实不复杂引擎接上、字体和身份两个坑填掉、表单挂到节点上、变量替表单流转。再往深走可以看看会签、加签、回退这些多人协作场景下一篇聊。【免费下载链接】jeecg-boot【低代码v2.0一句话即可生成整个系统】企业级AI低代码平台一键生成前后端代码甚至整个系统。 AI Skills 一句话画流程、设计表单、生成报表、大屏。内置 AI应用平台涵盖AI聊天、知识库、流程编排、MCP插件等兼容主流大模型。引领AI低代码「Skills 生成 → 在线配置 → 代码生成 → 手工合并-AI修改」开发模式解决 Java 项目 90% 重复工作提高效率又不失灵活。项目地址: https://gitcode.com/GitHub_Trending/je/jeecg-boot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价