【问题标题】:Mule MEL check for NullPayload vs nullMule MEL 检查 NullPayload 与 null
【发布时间】:2019-04-11 19:38:18
【问题描述】:

根据以下票证:https://www.mulesoft.org/jira/browse/MULE-6427NullPayload我应该可以使用:

<when expression="#[payload == null]">

但这失败了。所以我必须使用:

<when expression="#[payload is NullPayload]">

我做错了吗?或者这是检查nullNullPayload 的正确方法吗?

【问题讨论】:

    标签: mule


    【解决方案1】:

    理论上,这个应该是固定的,但看起来不是这样。我使用的是 CE 3.4.0,表达式 #[payload == null] 不适用于 NullPayload

    我找到了this link,它显示了如何检查有效负载是否正确为NullPayload

    #[payload is org.mule.transport.NullPayload]
    

    其实我需要知道payload是不是不是NullPayload,所以我的表达是:

    #[!(payload is org.mule.transport.NullPayload)]
    

    像魅力一样工作。 :)

    【讨论】:

    • 谢谢@mathielo,我快疯了。 MULE-6427 说它是固定的,甚至他们的MEL expression page 说你应该能够使用#[payload == null] 但只有你的解决方案对我有用。再次感谢!
    • 谢谢,你帮了我 :) Mulesoft 的文档记录很差:(
    【解决方案2】:

    在 Mule 3.7 (Studio 5.2) 中,NullPayload#[payload == null] 现在返回 true。有趣的是,#[payload is NullPayload] 返回false

    【讨论】:

      【解决方案3】:

      这适用于版本 3.5:#[payload is NullPayload]

      【讨论】:

        【解决方案4】:

        试试这个检查:

        #[payload == empty]

        【讨论】:

        • 和 Collection.isEmpty() 一样?我的有效载荷不是一个集合,所以不会有 isEmpty() 方法。 == null 那么你有同样的问题吗?我可以通过使用 instanceof 来解决这个问题。主要问题是我应该能够使用 == null
        【解决方案5】:

        根据code,在最新版本的 Mule 中似乎仍然如此。

        如果您的版本低于 3.4,这将不起作用

        【讨论】:

        • 我使用的是 3.5.1。 #[payload == null] 如果有效负载为 NullPayload,则失败
        【解决方案6】:

        这很有趣。

        对你不起作用的表达对我起作用:

        <when expression="#[!(payload == null)]">
        

        有趣的是,其他建议(如下所列)并未给出预期结果:

        <when expression="!(payload instanceof org.mule.transport.NullPayload)">
        <when expression="#[!(payload is org.mule.transport.NullPayload)]">
        <when expression="#[!(payload is NullPayload)]">
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多