【问题标题】:How to validate NullPayload as null within a Groovy script in Mule 3.7.3如何在 Mule 3.7.3 的 Groovy 脚本中将 NullPayload 验证为 null
【发布时间】:2016-03-29 06:18:14
【问题描述】:

在 Groovy 脚本中我有代码:

if(payload != null && payload['result'] != null) {
    params ['result'] = payload['result']
}

在进入 Groovy 组件之前收到的有效负载是 org.mule.transport.NullPayload,所以当我在“if”中验证“有效负载”为 null 时,它不会检测到那是null,这是预期的,因为该类在 Mule 3.7.3 中用于此目的,那么验证实例 org.mule.transport.NullPayload 的最佳实践是什么null 值?

【问题讨论】:

    标签: groovy mule mule-studio


    【解决方案1】:

    随便用

    if(payload instanceof NullPayload)
    

    【讨论】:

    • 是的,谢谢@tim,最后我使用了你的方式,但我担心的更多是与 “MuleLand 逻辑” 有关,如果他们发明了 NullPayload 在第一次,应用在 MEL 中的相同原则不应该在任何其他 Transformer 中做同样的事情吗?将Payload 视为 MEL 中的 null 和其他连接器、变压器等中的类实例(在本例中为 NullPayload)是否有点烦人?
    【解决方案2】:
    message.getPayload() == null
    

    在 Mule 3.4 上为我完成了这项工作。猜猜它在 3.7 中仍然有效。

    在 MuleSoft Jira 中注册了一个与此相关的 bug 票:https://www.mulesoft.org/jira/browse/MULE-6427

    【讨论】:

    • 这不适用,因为您说的是 MEL(Mule 表达式语言),它工作得很好,问题出在 Groovy Transformer 内部。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多