Mule Anypoint timestamp flowVar不按LastModifiedDate过滤有效负载

Mule Anypoint timestamp flowVar不按LastModifiedDate过滤有效负载,mule,mule-studio,mule-component,anypoint-studio,Mule,Mule Studio,Mule Component,Anypoint Studio,我正在尝试使用Mule软件创建数据同步,以便根据LastModified日期检查Db1是否有任何更新,如果有,则将更新应用于Db2。 我已经让脚本工作到这样一个地步:当脚本第一次启动时,数据从Db1复制到Db2。之后,脚本会不断更新Db2中的记录。(下面是我的流程图) 我尝试在消息enricher(在Batch_步骤中)中设置RecordVar,以查看记录是否存在,并在选项中相应地路由它们(在Batch_步骤1中)。 我还在轮询中为时间戳启用了water mark,但无法避免不断更新插入的记录

我正在尝试使用Mule软件创建数据同步,以便根据LastModified日期检查Db1是否有任何更新,如果有,则将更新应用于Db2。 我已经让脚本工作到这样一个地步:当脚本第一次启动时,数据从Db1复制到Db2。之后,脚本会不断更新Db2中的记录。(下面是我的流程图)

我尝试在消息enricher(在Batch_步骤中)中设置RecordVar,以查看记录是否存在,并在选项中相应地路由它们(在Batch_步骤1中)。 我还在轮询中为时间戳启用了water mark,但无法避免不断更新插入的记录

下面是我的配置的屏幕截图:

水印设置:

Db1查询:

批处理步骤接受表达式:

消息充实器:

选择设置:

在来自Db1的Select语句中添加LastModifiedDate,以便水印能够访问payload.LastModifiedDate字段


另外,在Db2批处理步骤中,您的查询是什么?检查它,因为它可能总是得到可能导致始终具有有效负载的结果。大小>0。

谢谢!将LastModifiedDate添加到Db1的Select语句解决了这个问题。现在,除非在Db1中找到更新的LastModifiedDate,否则它不会返回有效负载。