Mule 4:Mule 应用程序崩溃/重新部署时批处理作业的行为



我们需要实现以下场景:
1。调度程序每 30 分钟触发一次进程
2。根据时间戳从 Salesforce 获取数据。
3.使用Mule批处理作业将所有记录插入数据库。

对于这种情况,如果 Mule 应用程序崩溃或中间停止,我们需要从头开始,而不是从 mule 应用程序停止的地方启动它。

以下是我们在 Anypoint Studio 中测试时获得的输出:
如果我们在批处理运行时停止应用程序,即使在处理完查询中获取的新记录后,记录也会继续插入到数据库中。

例如,如果在当前批次中获取了 1200 条记录,则插入数据库的实际记录超过 1200 条,即它们来自中间停止的前一批。

所以查询是 :
1。是否可以使用某些配置更改此行为,以便在 mule 应用程序崩溃时我们可以丢弃当前批处理中未处理的记录?
2。骡子批处理组件中的"历史记录"选项卡有什么意义?它有两个字段"最大期限"和"时间单位"。但是,设置这些值时,应用程序无法部署"找到无效内容 - 批处理:历史记录">
3。当应用程序失败时,有没有办法查看文件系统中 mule 批处理作业保留的记录?
像持久对象存储一样可以在工作区的 .mule 文件夹中查看。

从运行配置中(右键单击项目树中的项目>运行方式 -> Mule 应用程序"CONFIGURE"(,将应用程序数据设置为始终重新启动。(可能需要向下滚动一点才能看到该选项(

希望对您有所帮助

最新更新