我有常见的情况,但是我无法找出Mule 4批处理中的解决方案。在我的流程中,我有一个http列表器,该列表调用该流程,然后调用DB select,然后使用批处理将数据追加到Salesforce中。
默认情况下,批处理将在完成阶段创建统计信息,我的要求是发送准确的统计信息作为响应,但我无法在批处理之外访问它。尝试使用vars,属性,甚至尝试发布VM(在这种情况下,响应不会返回到listner)
有人可以指导我吗?我附上了流程设计以供参考。
谢谢。
你不能。批处理在后台运行,完成批处理之前,您的流程已久。我的建议是您(1)将报告数据存储在某个地方,并且(2)使用其他请求/方式获取数据。
这里是文档:https://docs.mulesoft.com/mule-runtime/4.2/batch-processing-concept
您可以在完成阶段将有效负载存储在objectStore中,以后可以检索它来构建报告。存储在完成阶段的有效负载是一个Java对象,该对象具有构建报表所需的属性。 (例如,对于loadedRecords,failedRecords等)。