我们需要实现以下场景:
1. 调度器每 30 分钟触发一次进程。
2. 根据时间戳从 Salesforce 中获取数据。
3.使用Mule批处理作业将所有记录插入数据库。
对于这种情况,如果 Mule 应用程序崩溃或在两者之间停止,我们需要从头开始重新启动它,而不是从 mule 应用程序停止的地方开始。
下面是我们在 Anypoint Studio 中进行测试时得到的输出:
如果我们在批处理运行期间停止应用程序,即使在查询中获取的新记录处理完成后,记录也会继续插入到数据库中。
例如,如果在当前批次中提取了 1200 条记录,则插入到数据库中的实际记录超过 1200 条,即它们来自上一个批次,但在两者之间停止。
所以查询是:
1. 如果 mule 应用程序崩溃,是否可以使用某些配置更改此行为,以便我们可以丢弃当前批次中未处理的记录?
2. Mule Batch组件中的“历史”选项卡有什么意义?它有两个字段 Max Age 和 Time Unit。但是,当设置这些值时,应用程序无法部署并出现“发现无效内容 - 批处理:历史记录”
3. 有没有办法在应用程序失败时查看文件系统中骡批处理作业保留的记录?
可以在工作区的 .mule 文件夹中查看像持久对象存储一样的内容。