同步操作将从 Gitee 极速下载/compileflow 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
📖 查看📖 英文版文档.
compileflow
是什么compileflow
是一个非常轻量、高性能、可集成、可扩展的流程引擎。
compileflow Process
引擎是淘宝工作流TBBPM
引擎之一,是专注于纯内存执行,无状态的流程引擎,通过将流程文件转换生成java
代码编译执行,简洁高效。当前是阿里业务中台交易等多个核心系统的流程引擎。
compileflow
能让开发人员通过流程编辑器设计自己的业务流程,将复杂的业务逻辑可视化,为业务设计人员与开发工程师架起了一座桥梁。
idea
至value
的研发响应与交互速度。java
代码编译执行,简洁高效。IntelliJ IDEA
、Eclipse
插件支持,可以在流程设计中实时动态生成java
代码并预览,所见即所得。svg
文件和单元测试代码。IntelliJ IDEA
插件(可选)插件下载地址:https://github.com/alibaba/compileflow-idea-designer
安装说明:请使用IntelliJ IDEA
本地安装方法进行安装,重新启动IntelliJ IDEA
就会生效。
POM
文件<dependency>
<groupId>com.alibaba.compileflow</groupId>
<artifactId>compileflow</artifactId>
<version>1.0.0</version>
</dependency>
可以在 search.maven.org 查看可用的版本。
注意: compileflow
仅支持JDK 1.8
及以上版本。
下面以ktv demo为例,通过demo的演示和实践了解节点及属性的配置和API
的使用。
demo描述:N个人去ktv唱歌,每人唱首歌,ktv消费原价为30元/人,如果总价超过300打九折,小于300按原价付款。
创建bpm
文件,如下图:
注:bpm
文件路径要和code
保持一致,在文件加载模式下流程引擎执行时会根据code
找到文件。
通过插件进行流程设计或者直接编写流程xml
文件。
编写如下单元测试:
public void testProcessEngine() {
final String code = "bpm.ktv.ktvExample";
final Map<String, Object> context = new HashMap<>();
final List<String> pList = new ArrayList<>();
pList.add("wuxiang");
pList.add("xuan");
pList.add("yusu");
context.put("pList", pList);
final ProcessEngine<TbbpmModel> processEngine = ProcessEngineFactory.getProcessEngine();
final TbbpmModel tbbpmModel = processEngine.load(code);
final OutputStream outputStream = TbbpmModelConverter.getInstance().convertToStream(tbbpmModel);
System.out.println(outputStream);
System.out.println(processEngine.getTestCode(code));
processEngine.preCompile(code);
System.out.println(processEngine.start(code, context));
}
compileflow
原生只支持淘宝BPM
规范,为兼容BPMN 2.0
规范,做了一定适配,但仅支持部分BPMN 2.0
元素,如需其他元素支持,可在原来基础上扩展。
compileflow
开发群如果您在使用,请让我们知道,您的使用对我们非常重要。请在下面链接的issue中回复:https://github.com/alibaba/compileflow/issues/9
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。