能否构建可在运行时读取Serverless Workflow的通用Kogito实例?
可以搭建通用Kogito实例实现运行时加载Serverless Workflow JSON
核心实现方案
Kogito原生支持运行时动态部署工作流定义,无需每次复刻或重新构建Quarkus项目,具体实现方式如下:
启用Kogito运行时服务API
在Quarkus项目的application.properties中添加配置,激活工作流管理相关API:kogito.runtime.services.enabled=true通过REST API动态上传工作流
直接向Kogito实例发送POST请求,上传Serverless Workflow JSON文件完成部署:curl -X POST -H "Content-Type: application/json" -d @your-workflow-def.json http://localhost:8080/kogito/processes部署成功后,即可通过对应的工作流启动API立即执行该工作流。
管理已部署的工作流
可通过API完成日常管理操作:- 查询所有已部署工作流:
GET http://localhost:8080/kogito/processes - 删除指定工作流:
DELETE http://localhost:8080/kogito/processes/{workflow-id}
- 查询所有已部署工作流:
持久化工作流定义(可选)
若需Kogito重启后保留已部署的工作流,可配置外部数据库作为持久化存储,添加对应数据库依赖并配置连接信息即可。
注意事项
- 确保使用Kogito 1.10及以上版本,该特性在这些版本中已稳定支持
- 上传的JSON文件需符合Serverless Workflow规范,Kogito会自动校验格式,错误时返回详细校验信息
- 若工作流包含自定义函数或第三方集成服务,需提前将相关依赖打包进Quarkus项目,避免运行时缺失依赖
内容的提问来源于stack exchange,提问作者Alexander Efimov
相关产品推荐
相关产品推荐

