如何在Mule 3.7.3中的Groovy脚本中将NullPayload验证为null
在Groovy脚本中,我有以下代码:如何在Mule 3.7.3中的Groovy脚本中将NullPayload验证为null,groovy,mule,mule-studio,Groovy,Mule,Mule Studio,在Groovy脚本中,我有以下代码: if(payload != null && payload['result'] != null) { params ['result'] = payload['result'] } 在进入Groovy组件之前收到的有效负载是org.mule.transport.NullPayload,因此当我在“if”中验证“Payload”是null时,它不会检测到是null,这是预期的,因为该类在mule 3.7.3中是用于此目的的,那么,将实
if(payload != null && payload['result'] != null) {
params ['result'] = payload['result']
}
在进入Groovy组件之前收到的有效负载是org.mule.transport.NullPayload,因此当我在“if”中验证“Payload”是null
时,它不会检测到是null
,这是预期的,因为该类在mule 3.7.3中是用于此目的的,那么,将实例org.mule.transport.NullPayload验证为null
值的最佳实践是什么呢?只需使用
if(payload instanceof NullPayload)
在Mule 3.4上为我做了这项工作。我猜它在3.7中仍然有效
MuleSoft Jira中有一个与此相关的错误记录:这不适用,因为您正在谈论MEL(Mule Expression Language),它工作得很好,问题在于Groovy Transformer内部。是的,谢谢@tim,我最后用了您的方式,但我更关心的是“MuleLand logic”,如果他们第一次发明了
NullPayload
,那么MEL中应用的相同原理不应该在任何其他变压器中也同样适用吗?在MEL中将Payload
视为null
,在另一个连接器、变压器等中将其视为类的实例(null Payload
),这有点烦人吗?
message.getPayload() == null