NullPayload 与 null 检查

NullPayload vs null check

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

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

但这不起作用。它失败。我正在使用 Mule 3.5.1

这是一个示例流程:

<flow name="testNull">
        <poll frequency="10000">
            <logger />
        </poll>

        <set-payload value="#[org.mule.transport.NullPayload.getInstance()]" />

        <choice>
            <when expression="#[payload == null]">
                <logger level="ERROR" message="NullPayload is same as null" />
            </when>
            <otherwise>
                <logger level="ERROR" message="Doesnt work" />
            </otherwise>
        </choice>

    </flow>

这将始终打印“不起作用”。但是 message.payload == null 有效。 "payload" 和 "message.payload" 有什么区别?

#[payload] 别名似乎有问题。使用真实的东西,它会起作用:#[message.payload].