我们正在迁移Mule 3应用程序到Mule 4,我们在MEL下面遇到过。关于如何将其转换为DataWeave的任何输入。
mel:prevProperties.get(payload.get("A1 - Roll Number")) == null ? prevProperties.put(payload.get("A1 - Roll Number"), payload.get("M7 - Detailed status")) : duplicateRecords.put(payload.get("A1 - Roll Number"),": Duplicate Name Found By ID")发布于 2022-02-09 12:11:55
因此,这个脚本不能像以前一样迁移到mule 4,因为它使用了一些DW中不允许的副作用。
prevProperties.get(payload.get("A1 - Roll Number")) == null ?
prevProperties.put(payload.get("A1 - Roll Number"), payload.get("M7 - Detailed status")) :
duplicateRecords.put(payload.get("A1 - Roll Number"),": Duplicate Name Found By ID")因此,为了在语义上映射这一点,我们需要在流中获得更多的上下文。要进行语法映射,可以映射的部分如下所示
if(prevProperties[payload["A1 - Roll Number"]] == null)
prevProperties ++ {(payload["A1 - Roll Number"]): payload["M7 - Detailed status"]}
else duplicateRecords ++ {(payload["A1 - Roll Number"]) : ": Duplicate Name Found By ID"}同样,这与++没有修改,而是创建一个新实例完全相同。
https://stackoverflow.com/questions/71047529
复制相似问题