merge: finalize pre-release review Signed-off-by: yusu yusu1210@126.com
merge: finalize pre-release review
Signed-off-by: yusu yusu1210@126.com
面向 Java 的高性能流程引擎
English README
CompileFlow 是一款轻量、高性能、可集成、可扩展的 Java 流程引擎,支持 TBBPM 和文档明确支持的 BPMN 2.0 子集。
CompileFlow Process 引擎专注于纯内存、无状态执行,已应用于阿里业务中台、淘宝、阿里云、国际化等业务的多个核心系统。
CompileFlow Durable 为长时间运行的流程提供持久化能力,可在流程等待、定时触发或外部操作后继续执行,并支持应用重启后的恢复。
可视化编辑器将复杂的业务逻辑呈现为清晰的流程图,便于业务与研发共同理解和维护。Java Action 将业务服务、规则和 Agent 调用 编排到同一流程中;CompileFlow Deploy 和 Durable 分别提供版本化发布与持久化执行。
ProcessEngine
compileflow-tbbpm
compileflow-bpmn
这些功能彼此独立。引入 Deploy、Durable 或 Workbench 不会改变 ProcessEngine.execute(...) 的进程内执行方式;持久化执行使用 Durable API。
ProcessEngine.execute(...)
ProcessRef
ProcessDefinition
ProcessResult<T>
通常每种配置只需创建一个长生命周期的 ProcessEngine。同一个引擎可以执行所有已安装的流程格式,每个流程定义明确指定自身格式。 应用关闭时再关闭引擎,不要为每个请求重复创建。
CompileFlow 支持 JDK 17、21 和 25,生成的字节码以 Java 17 为目标。
从源码构建并安装所需模块:
./mvnw install -pl compileflow-spring-boot-starter-tbbpm -am -DskipTests
添加 Spring Boot Starter 依赖:
<dependency> <groupId>com.alibaba.compileflow</groupId> <artifactId>compileflow-spring-boot-starter-tbbpm</artifactId> <version>2.0.0-SNAPSHOT</version> </dependency>
注入应用级 ProcessEngine 并执行流程:
@Service public class OrderService { private final ProcessEngine processEngine; public OrderService(ProcessEngine processEngine) { this.processEngine = processEngine; } public OrderResult execute(OrderRequest request) { ProcessDefinition definition = ProcessDefinition.classpath( ProcessModelType.TBBPM, "order.process", "flows/order-process.bpm"); return processEngine.execute( definition, request, OrderResult.class, ProcessExecutionOptions.defaults()) .orElseThrow(); } }
完整项目示例见 examples/spring-boot-basic。快速开始指南还介绍独立使用、流程预检、预热和关闭。 包含网关、流程调用、并行处理、迭代、重试和受控错误的 HTTP 场景见 examples/spring-boot-order-fulfillment。
examples/spring-boot-basic
examples/spring-boot-order-fulfillment
flowchart LR definition["TBBPM 或 BPMN 定义"] engine["ProcessEngine"] semantic["已校验的流程模型"] compile["COMPILED:生成并编译 Java"] interpret["INTERPRETED:直接执行流程模型"] runtime["流程运行时"] result["ProcessResult"] definition --> engine --> semantic semantic --> compile --> runtime semantic --> interpret --> runtime runtime --> result runtime --> engine
可执行节点、流程格式和公共兼容性承诺见支持范围与兼容性。
文档中心是双语文档总入口,中文文档提供中文任务指南、规范和架构索引。兼容性决策请以支持范围与兼容性为准。
运行嵌入式引擎集成测试:
./mvnw -B test -pl compileflow-integration-tests -am
仓库专用验证命令见测试指南和英文贡献指南。
CompileFlow 使用 Apache License 2.0 开源。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
CompileFlow
面向 Java 的高性能流程引擎
English README
CompileFlow 是一款轻量、高性能、可集成、可扩展的 Java 流程引擎,支持 TBBPM 和文档明确支持的 BPMN 2.0 子集。
CompileFlow Process 引擎专注于纯内存、无状态执行,已应用于阿里业务中台、淘宝、阿里云、国际化等业务的多个核心系统。
CompileFlow Durable 为长时间运行的流程提供持久化能力,可在流程等待、定时触发或外部操作后继续执行,并支持应用重启后的恢复。
可视化编辑器将复杂的业务逻辑呈现为清晰的流程图,便于业务与研发共同理解和维护。Java Action 将业务服务、规则和 Agent 调用 编排到同一流程中;CompileFlow Deploy 和 Durable 分别提供版本化发布与持久化执行。
核心能力
按需选择
ProcessEngine,配合compileflow-tbbpm或compileflow-bpmn这些功能彼此独立。引入 Deploy、Durable 或 Workbench 不会改变
ProcessEngine.execute(...)的进程内执行方式;持久化执行使用 Durable API。核心 API
ProcessEngineProcessRefProcessDefinitionProcessResult<T>通常每种配置只需创建一个长生命周期的
ProcessEngine。同一个引擎可以执行所有已安装的流程格式,每个流程定义明确指定自身格式。 应用关闭时再关闭引擎,不要为每个请求重复创建。快速开始
CompileFlow 支持 JDK 17、21 和 25,生成的字节码以 Java 17 为目标。
从源码构建并安装所需模块:
添加 Spring Boot Starter 依赖:
注入应用级
ProcessEngine并执行流程:完整项目示例见
examples/spring-boot-basic。快速开始指南还介绍独立使用、流程预检、预热和关闭。 包含网关、流程调用、并行处理、迭代、重试和受控错误的 HTTP 场景见examples/spring-boot-order-fulfillment。执行模型
flowchart LR definition["TBBPM 或 BPMN 定义"] engine["ProcessEngine"] semantic["已校验的流程模型"] compile["COMPILED:生成并编译 Java"] interpret["INTERPRETED:直接执行流程模型"] runtime["流程运行时"] result["ProcessResult"] definition --> engine --> semantic semantic --> compile --> runtime semantic --> interpret --> runtime runtime --> result runtime --> engine可执行节点、流程格式和公共兼容性承诺见支持范围与兼容性。
文档
文档中心是双语文档总入口,中文文档提供中文任务指南、规范和架构索引。兼容性决策请以支持范围与兼容性为准。
构建与测试
运行嵌入式引擎集成测试:
仓库专用验证命令见测试指南和英文贡献指南。
Adopters
Alibaba Group
Taobao
Tmall
Alipay
Cainiao
Alibaba Cloud
AliExpress
Lazada
Fliggy
社区
许可证
CompileFlow 使用 Apache License 2.0 开源。