如何在 mule 4 的批处理中添加连接变量?

问题描述

我正在处理从一个数据库到另一个数据库的记录。在单个请求中多次调用批处理作业(仅触发进程 API URL 一次)。 如何为一个完整请求添加处理的总记录数(由完成阶段的有效负载提供)?

例如,我运行了该进程,并执行了 3 次批处理作业。所以我想获得所有 3 个批处理作业中所有记录的总和。

解决方法

这是不可能的,因为批处理范围的工作方式:

在 On Complete 阶段,这些变量中没有一个(甚至 原始的)是可见的。在此仅提供最终结果 阶段。此外,由于批处理作业实例异步执行 从流程的其余部分来看,在批处理步骤或 On Complete 阶段将在 Batch Scope 之外可见。

来源:https://docs.mulesoft.com/mule-runtime/4.3/batch-processing-concept#variable-propagation

您可以做的是将结果存储在持久存储库中,例如在您的数据库中。