Mule 空负载vs空检查

Mule 空负载vs空检查,mule,mule-el,Mule,Mule El,根据以下票据:对于空有效载荷,我应该能够使用: <when expression="#[payload == null]"> 但这不起作用。它失败了。我正在使用Mule 3.5.1 以下是一个示例流程: <flow name="testNull"> <poll frequency="10000"> <logger /> </poll> <set-pay

根据以下票据:对于空有效载荷,我应该能够使用:

<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可以工作。“有效载荷”和“message.payload”之间有什么区别?

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

此外,我还创建了以下问题来跟踪问题:之前也注意到了这一点。“payload”从不经过发生空转换的MessageContext。在本地做了一个快速修复。将提交并提交一份pr。