第 23 章 MVEL
概述 复制链接链接已复制到粘贴板!
MVEL 是一个基于 Java 的动态语言,与 OGNL 类似,但报告速度要快得多。MVEL 支持在 camel-mvel
模块中。
语法 复制链接链接已复制到粘贴板!
您可以使用 MVEL dot 语法调用 Java 方法,例如:
getRequest().getBody().getFamilyName()
getRequest().getBody().getFamilyName()
由于 MVEL 是动态键入的,所以在调用 getFamilyName()
方法前,无需广播消息正文实例(对象类型)。您还可以使用缩写语法调用 Bean 属性,例如:
request.body.familyName
request.body.familyName
添加 MVEL 模块 复制链接链接已复制到粘贴板!
要在路由中使用 MVEL,您需要将对 camel-mvel
的依赖添加到项目,如 例 23.1 “添加 camel-mvel 依赖项” 所示。
例 23.1. 添加 camel-mvel 依赖项
内置变量 复制链接链接已复制到粘贴板!
表 23.1 “MVEL 变量” 列出在使用 MVEL 时可以访问的内置变量。
名称 | 类型 | 描述 |
---|---|---|
|
| 当前交换 |
|
| 当前交换 |
|
| Exchange 例外(若有) |
|
| Exchange ID |
|
| 失败消息(若有) |
|
| IN 信息 |
|
| OUT 消息 |
|
| Exchange 属性 |
|
| 命名的 Exchange 属性的值 |
|
| 名为 Exchange 属性的输入值 |
示例 复制链接链接已复制到粘贴板!
例 23.2 “使用 MVEL 的路由” 显示使用 MVEL 的路由。
例 23.2. 使用 MVEL 的路由