“MEL是一个轻量级,Mule-specific表达式语言,您可以使用它们来访问和获取payload中的值,Mule message属性和变量。访问内部和可用的所有Mule 消息,MEL使您能够迅速、完美的过滤,路由,或者使用在Mule 消息对象处理”—-官方说明翻译(凑合看)
提取信息
可以使用它来处理当前的message,这可能是有用的表达式组件或表达式变压器内的设置:
#[payload]
#[message.inboundProperties.'propertyName']
#[payload.methodCall(parameters)]
#[xpath3('//root/element1')]
条件判断
使用当前的message的内容,这可能是非常有用的过滤信息处理:
#[payload.age > 21]
#[message.inboundProperties.'locale' == 'en_us']
获取变量
另外的message payload,存储一个表达式的定义;通常情况下,这是很有帮助的。
#[flowVars.output]
#[flowVars['myvars1']]
示例
<logger message="#[payload]" />
<smtp:outbound-endpoint from="#[flowVars.from]" to="#[flowVars.to]" subject="#[payload.subjectLine]" responseTimeout="10000" doc:name="SMTP"/>
<logger message="The value in my first variable is #[flowVars.myVar1]" level="INFO"/>
下面的表列出Mule可以使用的变量,你可以使用它们。
|
对象
|
描述
|
属性
|
|---|---|---|
| server | Message所运行的操作系统 | dateTime |
| mule | 应用中的Mule实例 | clusterId home nodeId version |
| message | 消息处理器中的(载体、附件、属性) | id |
| application | 流程中的用户application | encoding name standalone workDir registry |
日期和时间函数
返回系统日期和时间,dateTime:
#[server.dateTime]
返回当前系统时间,纳秒:
#[server.nanoTime()]
返回一个dateTime对象与指定日历和服务器的地区:
#[calendar = Calendar.getInstance();
message.payload = new org.mule.el.datetime.DateTime(calendar);]
设置messgae payload为Java Calendar日期和时间:
#[calendar = Calendar.getInstance();
message.payload = new org.mule.el.datetime.DateTime(calendar);]
官方文档地址:
https://developer.mulesoft.com/docs/display/current/Mule+Expression+Language+MEL
MEL是一种轻量级、Mule专用的表达式语言,用于访问和获取payload、消息属性和变量。它可以方便地用于信息提取、条件判断、变量获取,以及在Mule消息对象处理中进行过滤和路由。本文介绍了MEL在处理当前消息、条件判断和变量获取方面的用法,并提供了日期和时间函数的示例。
1716

被折叠的 条评论
为什么被折叠?



