Flowable 工作流演示案例
当前工程是基于 Flowable 6.8.0 的 demo 演示工程,涵盖了Flowable 几乎所有功能的单元测试案例。每一个案例都有配套的流程定义文件与完善的注释说明、踩坑事项与解决办法。便于新手快速入门,一键调试。
技术栈
- SpringBoot 2.3.12.RELEASE
- mybatis-plus-boot-starter 3.5.4
- MySQL 8
- Hutool 5.3.5
- Flowable 6.8.0
- groovy 2.0.5
- Drools 7.30.0.Final
- Camel 3.14.0
工程目录结构
工程概览图
目录结构说明
├─doc #文档
│ ├─document #部分笔记
│ ├─images #图片
│ ├─jars #不好下载的jar
│ │ └─mule
│ └─sql #含有表字段说明注释的数据库脚本
├─src #
│ ├─main #
│ │ ├─java #
│ │ │ └─cn #
│ │ │ └─blnp #
│ │ │ └─net #
│ │ │ └─flowable #
│ │ │ ├─config #项目集成配置,含Flowable、Drools、Camel等
│ │ │ ├─consumer #
│ │ │ ├─controller #
│ │ │ └─mapper #mybatis接口
│ │ └─resources #
│ │ ├─db #
│ │ │ └─changelog #
│ │ ├─dmn #决策表设计文件
│ │ ├─drools #Drools规则文件
│ │ ├─flow #流程定义设计文件
│ │ │ └─images #流程定义相关图片信息
│ │ └─mybatis #mybatis相关xml
│ │ └─mapper #
│ └─test #
│ └─java #
│ └─cn #
│ └─blnp #
│ └─net #
│ └─flowable #
│ ├─api #Flowable 基础API演示
│ │ ├─history #历史模块API
│ │ ├─identity #身份管理API
│ │ ├─manager #管理服务API
│ │ ├─repository #存储服务API
│ │ ├─runtime #运行时服务API
│ │ ├─server #工作流引擎服务API
│ │ └─task #任务服务API
│ ├─demo #
│ ├─event #Flowable 事件案例模块
│ │ ├─base #流程引擎事件概述与事项
│ │ │ ├─message #消息事件
│ │ │ ├─other #取消事件、终止事件、补偿事件
│ │ │ ├─signal #信号事件
│ │ │ └─timer #定时事件
│ │ ├─bound #边界事件综合案例
│ │ │ ├─cancel #边界取消事件
│ │ │ ├─compensation #边界补偿事件
│ │ │ ├─conditions #条件边界事件
│ │ │ ├─error #错误边界事件
│ │ │ ├─message #消息边界事件
│ │ │ ├─signal #信号边界事件
│ │ │ ├─timer #定时器边界事件
│ │ │ ├─upgrade #升级边界事件
│ │ │ └─variables #变量监听器边界事件
│ │ ├─end #结束事件综合案例
│ │ │ ├─cancel #取消结束事件
│ │ │ ├─empty #空结束事件
│ │ │ ├─error #错误结束事件
│ │ │ ├─termination #终止结束事件
│ │ │ └─upgrade #升级结束事件
│ │ ├─middle #中间事件综合案例
│ │ │ ├─compensate #补偿中间抛出事件
│ │ │ ├─conditional #条件中间捕获事件
│ │ │ ├─empty #空中间抛出事件
│ │ │ ├─message #消息中间捕获事件
│ │ │ ├─signal #信号捕获和信号抛出中间事件
│ │ │ ├─timer #定时器中间捕获事件
│ │ │ ├─upgrade #升级中间抛出事件
│ │ │ └─variable #变量监听器中间捕获事件
│ │ └─start #开始事件综合案例
│ │ ├─conditions #条件开始事件
│ │ ├─empty #空开始事件
│ │ ├─error #错误开始事件
│ │ ├─message #消息开始事件
│ │ ├─signal #信号开始事件案例
│ │ ├─timer #定时器开始事件
│ │ ├─upgrade #升级开始事件
│ │ └─variables #变量监听开始事件
│ ├─ext #扩展案例
│ │ ├─activity #调用活动案例
│ │ ├─child #子流程综合案例
│ │ │ ├─event #事件子流程演示案例
│ │ │ ├─inline #内嵌子流程
│ │ │ └─transaction #事务子流程
│ │ └─pool #泳池与泳道的用法
│ ├─identity #身份服务案例
│ │ ├─group #用户组案例
│ │ ├─relation #关联关系
│ │ └─user #用户案例
│ ├─listen #监听器综合案例
│ │ ├─exec #执行监听器演示案例
│ │ ├─global #全局事件监听器案例
│ │ │ ├─events #全局事件演示
│ │ │ └─log #日志监听器案例
│ │ └─task #任务监听器案例
│ │ └─listener #
│ ├─multiple #多实例综合案例
│ │ ├─child #子流程多实例实战
│ │ ├─service #服务任务多实例实战
│ │ └─user #用户任务多实例实战
│ ├─other #其它功能
│ │ └─camel #Camel基本使用
│ ├─process #流程部署知识点
│ ├─task #流程任务综合应用案例
│ │ ├─drools #Drools规则任务案例
│ │ ├─ext #扩展任务案例
│ │ │ ├─camel #Camel任务组合案例
│ │ │ ├─decision #决策任务案例
│ │ │ ├─http #Http任务案例
│ │ │ ├─mail #邮件任务案例
│ │ │ ├─shell #Shell任务案例
│ │ │ ├─web #web service任务案例
│ │ │ └─worker #外部工作者任务案例
│ │ ├─manually #手动任务案例
│ │ ├─receive #接收任务案例
│ │ ├─script #脚本任务案例
│ │ ├─service #服务任务案例
│ │ │ ├─error #
│ │ │ ├─execute #
│ │ │ ├─introduce #
│ │ │ ├─property #
│ │ │ └─server #
│ │ └─user #用户任务案例
│ └─transfer #顺序流与网关
│ ├─gateway #网关
│ │ ├─event #事件网关
│ │ ├─exclusive #排他网关
│ │ ├─inclusive #包容网格
│ │ └─parallel #并行网关
│ └─sequence #顺序流
│ ├─condition #
│ ├─defaults #
│ └─standard #
部分案例举例
错误边界事件演示
取消结束事件演示
定时器中间捕获事件演示
错误开始事件
调用子流程演示
执行监听器案例
更多详见单元测试用例代码!
截图预览
数据库
工程预览
流程模型
源代码
详见:码云
技术交流
有任何技术问题,欢迎一起加群交流探讨!