# InDepthFlowEngineCorePrinciplesAndAdvancedPracticeCompanionCode **Repository Path**: BinGo2014_admin/in-depth-flow-engine-core-principles-and-advanced-practice-companion-code ## Basic Information - **Project Name**: InDepthFlowEngineCorePrinciplesAndAdvancedPracticeCompanionCode - **Description**: 本项目是《Flowable 引擎核心原理与进阶实践》一书的配套代码仓库,包含 Flowable BPM 流程引擎的完整示例实现。代码涵盖了从基础入门到高级定制的所有核心知识点,通过大量实战案例帮助读者深入理解 Flowable 的工作原理和最佳实践。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-06-08 - **Last Updated**: 2026-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flowable 引擎核心原理与进阶实践配套代码 ## 项目简介 本项目是《Flowable 引擎核心原理与进阶实践》一书的配套代码仓库,包含 Flowable BPM 流程引擎的完整示例实现。代码涵盖了从基础入门到高级定制的所有核心知识点,通过大量实战案例帮助读者深入理解 Flowable 的工作原理和最佳实践。 ## 项目结构 ``` ├── Chapter3/ # 第一个Flowable流程实例 ├── Chapter5/ # 流程定义与部署 ├── Chapter6/ # 身份管理与用户组 ├── Chapter7/ # 流程部署与查询 ├── Chapter8/ # 开始事件与结束事件 ├── Chapter9/ # 边界事件与中间事件 ├── Chapter10/ # 用户任务 ├── Chapter11/ # 服务任务 ├── Chapter12/ # Camel/Mule/Shell任务 ├── Chapter13/ # HTTP/外部 Worker/WebService/决策任务 ├── Chapter14/ # 网关与序列流 ├── Chapter15/ # 调用活动与子流程 ├── Chapter16/ # 监听器 ├── Chapter17/ # 多实例 ├── Chapter19/ # Spring集成 ├── Chapter20/ # 表单引擎 ├── Chapter21/ # 模型管理 ├── Chapter22/ # 引擎高级定制 ├── Chapter23/ # 身份数据与数据库适配 ├── Chapter24/ # 高级特性扩展 ├── Chapter25/ # 动态流程控制 ├── Chapter26/ # 动态流程创建 ├── Chapter27/ # 流程实例迁移 ├── Chapter28/ # 分布式流程引擎(Redis+MongoDB) ├── Chapter29/ # 分布式流程引擎Gateway └── Chapter30/ # 分布式流程引擎+ElasticSearch ``` ## 技术栈 - **核心框架**: Flowable 6.x / Activiti - **构建工具**: Maven - **Spring Boot**: 2.x - **数据库**: MySQL、DM(达梦) - **缓存**: Redis、Pika - **消息队列**: RocketMQ - **搜索**: ElasticSearch - **网关**: Spring Cloud Gateway ## 快速开始 ### 环境要求 - JDK 1.8+ - Maven 3.0+ - MySQL 5.7+ (如需使用数据库) ### 构建项目 ```bash # 克隆项目 git clone https://gitee.com/BinGo2014_admin/InDepthFlowEngineCorePrinciplesAndAdvancedPracticeCompanionCode.git # 进入目录 cd InDepthFlowEngineCorePrinciplesAndAdvancedPracticeCompanionCode # 编译项目 mvn clean install -DskipTests ``` ### 运行示例 每个章节都是独立的模块,可以单独运行: ```bash # 进入 Chapter3 示例 cd Chapter3 # 运行测试 mvn test -Dtest=RunFirstDemo ``` ## 核心模块说明 ### Chapter10 - 用户任务 包含用户任务的多种 assignee 配置方式: - 直接指定 assignee - UEL 表达式动态分配 - TaskListener 动态分配 - 候选人/候选组配置 ### Chapter11 - 服务任务 服务任务的多种实现方式: - JavaDelegate 实现 - 表达式注入 - 字段注入 - FlowableFuture 异步执行 - 业务规则任务 ### Chapter14 - 网关 流程控制核心: - 排他网关 - 并行网关 - 包含网关 - 事件网关 ### Chapter22 - 引擎高级定制 深度定制 Flowable: - 自定义 ProcessEngineConfiguration - 自定义属性扩展 - 自定义 ActivityBehavior - 自定义事件类型 - 自定义验证器 - 多租户支持 ### Chapter28/29/30 - 分布式流程引擎 企业级分布式解决方案: - Redis 缓存流程定义 - MongoDB 存储历史数据 - Pika 替代 Redis - Spring Cloud Gateway 路由 - ElasticSearch 任务搜索 ## 各章节示例 | 章节 | 主题 | 说明 | |------|------|------| | Chapter3 | 入门 | 第一个流程 HelloWorld | | Chapter5 | 核心API | 流程引擎服务详解 | | Chapter6 | 身份管理 | 用户和用户组管理 | | Chapter8 | 事件 | 开始/结束/边界/中间事件 | | Chapter12 | 外部集成 | Camel/Mule/Shell任务 | | Chapter13 | Web服务 | HTTP/WS/决策服务 | | Chapter15 | 子流程 | 调用活动/嵌入子流程 | | Chapter16 | 监听器 | 执行/任务/全局监听器 | | Chapter19 | Spring集成 | Spring Boot 集成 | | Chapter20 | 表单引擎 | 自定义表单 | | Chapter24 | 高级特性 | MQ任务/缓存/定时器 | | Chapter25 | 动态跳转 | 流程动态控制 | | Chapter26 | 动态创建 | 运行时创建流程 | | Chapter27 | 流程迁移 | 实例版本迁移 | ## 许可证 本项目代码仅供学习交流使用,请勿直接用于生产环境。 ## 交流与反馈 如有问题或建议,欢迎提交 Issue 或 Pull Request。