条件表达式在 Mule 4 中不起作用
Conditional expression is not working in Mule 4
我在 Mule 中设置变量值时有这个表达式:
#[(message.inboundProperties['message-id'] != null) ? message.inboundProperties['message-id'] : java.util.UUID.randomUUID().toString().replace('-', '')]
基本上,如果消息没有分配给它的 id,那么它会创建一个。
我已经转到 Mule 4 和 Anypoint 7,这个表达式不再有效。我知道 inboundProperties 已更改为属性,因此进行了以下更改:
#[(attributes.headers.'message-id' != null) ? attributes.headers.'message-id' : java.util.UUID.randomUUID().toString().replace('-', '')]
对于这两个表达式,我都收到错误消息“输入‘(’时没有可行的选择。
我怎样才能使这个语句适用于 Mule 4?
谢谢
#[attributes.headers.'message-id' default (uuid() replace '-' with '')]
expression 在 mule 4 中默认使用 Dataweave 2.0,而不是 MEL。所以你不能再使用 java 方法调用。而是使用 uuid() 数据编织函数和替换数据编织函数
您可以使用 default 而不是 if else 检查
我在 Mule 中设置变量值时有这个表达式:
#[(message.inboundProperties['message-id'] != null) ? message.inboundProperties['message-id'] : java.util.UUID.randomUUID().toString().replace('-', '')]
基本上,如果消息没有分配给它的 id,那么它会创建一个。
我已经转到 Mule 4 和 Anypoint 7,这个表达式不再有效。我知道 inboundProperties 已更改为属性,因此进行了以下更改:
#[(attributes.headers.'message-id' != null) ? attributes.headers.'message-id' : java.util.UUID.randomUUID().toString().replace('-', '')]
对于这两个表达式,我都收到错误消息“输入‘(’时没有可行的选择。
我怎样才能使这个语句适用于 Mule 4?
谢谢
#[attributes.headers.'message-id' default (uuid() replace '-' with '')]
expression 在 mule 4 中默认使用 Dataweave 2.0,而不是 MEL。所以你不能再使用 java 方法调用。而是使用 uuid() 数据编织函数和替换数据编织函数
您可以使用 default 而不是 if else 检查