camunda流程定义表无数据_将Axon的“Sagas”与Camunda的“流程”整合在一起的概念证明开源项目...

这是一个简单的POC来展示当前“两个世界中最好的”技术组合成一个真正的强大特工夫妻“风格”......

使用Camunda定义复杂流程,并利用其流动语言表达能力,可视化功能以及状态的生产/实时监控

定义相应的Axon saga来管理消息处理和所需的整个数据处理(例如根据当前的saga状态构造命令)

这不是一个强大的集成实现,而是一个概念证明,证明这两个工具可以轻松集成,并展示如何做到这一点的某种“心理模型”。基本上我的目标是在视觉Camunda模型中定义“pathes”,但是在saga中创建和发出命令等所需的整个“数据处理”。Camunda的流程引擎流程完全解耦,因为集成本身利用了Axon消息。poc实现在某些方面仍然是天真的,例如,必须满足完全异步查询响应处理等的需要。我想我只需要Axon的一些提示来做到这一点。

PaymentSaga.svg?sanitize=true

使用Martin的工作信用卡成功付款

POST /accounts?name=martin

POST / payment?account=martin&amount=25

请注意日志在saga流程中发生的情况。付款已收到。

使用Kermit的失败信用卡付款

POST / accounts?name = kermit

POST / payment?account = kermit&amount = 25

请注意日志在saga流程中发生的情况。为信用卡收费失败。

等一分钟,看看信用卡更新提醒,一分钟后失败

(请注意,定时器在大约10秒后触发,而不是两天,大约1分钟而不是两周!)

给Kermit一些信用,并成功获得付款,而无需触摸他的卡

POST / accounts / kermit / credit?amount = 30

POST / payment?account = kermit&amount = 25

请注意日志在saga流程中发生的情况。帐户余额需要超过“付款”金额。

现在剩余的5欧元Kermit又买了太多

POST / payment?account = kermit&amount = 25

请注意,在日志中检索到5的余额并部分涵盖付款

对于剩下的20,信用卡仍然失败。

等一分钟,看看信用卡更新提醒,一分钟后失败

请注意,日志中将再次恢复5的余额

现在Kermit再次尝试。这次他在<1的时间更新了他的信用卡信息

POST / payment?account = kermit&amount = 25

请注意,在日志中检索到5的余额并部分涵盖付款

然而,对于剩下的20,他的卡仍然失败......

POST / accounts / kermit / updateCard(超时前一分钟!)

现在剩下的20个是收费的,付款成功

(请注意,对于展示,我们只发送没有真实信用卡详细数据的触发器)

Saga运营监控

现在浏览到http:// localhost:8080并使用User:kermit / Pass:kermit登录

点击“Cockpit”进入Camunda的运营监控。

浏览到正在运行的流程实例,然后单击“付款”

您可以在上面看到saga流程定义

使用Kermit的失败信用卡来“实时”查看等待信用卡更新后的正常运行实例


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部