【问题标题】:In Mule 4 is there any any way to run the Mule-Batch in synchronous Mode在 Mule 4 中,有什么方法可以在同步模式下运行 Mule-Batch
【发布时间】:2022-01-28 08:38:05
【问题描述】:

在 Mule 4 中有什么方法可以在同步模式下运行 Mule-Batch

我已经使用 mule 批处理组件完成了几个项目。 现在的情况是,我们需要依赖 mule 批处理组件产生的输出。对于我的情况,它是以异步模式创建一个文件, 包含以下信息。

学生ID、姓名、状态 1,bijoy,注册 2,hari,not_enrolled, 3,piyush,erolled

但是由于它是在异步模式下运行的,所以不能依赖数据。 我的问题是有什么方法可以同步运行 mule Batch (Mule 4)?

【问题讨论】:

  • 这个解决方案有用吗?

标签: mule4


【解决方案1】:

不,按照设计,不可能在被调用的流中同步运行 Batch。

作为替代方案,您可以将要在批处理之后执行的逻辑放在侦听 VM 队列的单独流中。在批处理的 On Complete 阶段,您可以向该 VM 队列发送消息。监听流不能直接接收批处理数据,但是对于一个文件来说应该没问题。

话虽如此,文件交换并不是在应用程序内部交换信息的一种很好的方法。我建议您探索诸如临时数据数据库之类的替代方案,除非您只需要将文件发送到其他地方。

【讨论】:

  • 是的,评论是真的。我创建了一个 mule 时间表,它每 5 分钟触发一次工作,并且 .通过使用 mule 批处理组件,我将输出转储到对象存储中。并从另一个 mule rest api 调用 object store 。这样我虽然无法获得实时数据,但由于 mule 批处理每 5 分钟运行一次,因此作业存储中填充了几乎更新的数据并使用它。
  • 那个实现有可能不是并发安全的问题。如果批处理作业需要超过 5 分钟,它会覆盖之前的执行吗?对象存储也有一些限制。它们是否会影响您的应用程序将取决于具体的用例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多