304.3. 变量
变量 | 类型 | 描述 |
---|---|---|
camelId | 字符串 | Camel 2.10: CamelContext 名称 |
camelContext.OGNL | 对象 | Camel 2.11: 使用 Camel OGNL 表达式调用的 CamelContext。 |
交换 | Exchange | Camel 2.16: Exchange |
exchange.OGNL | 对象 | Camel 2.16: 使用 Camel OGNL 表达式调用的 Exchange。 |
exchangeId | 字符串 | Camel 2.3: 交换 ID |
id | 字符串 | 输入消息 id |
正文(body) | 对象 | 输入正文 |
in.body | 对象 | 输入正文 |
body.OGNL | 对象 | Camel 2.3: 使用 Camel OGNL 表达式调用的输入正文。 |
in.body.OGNL | 对象 | Camel 2.3: 使用 Camel OGNL 表达式调用的输入正文。 |
bodyAs(type) | 类型 | Camel 2.3: 将正文转换为由 classname 确定的给定类型。转换的正文可以是 null。 |
bodyAs(type).OGNL | 对象 | Camel 2.18: 将正文转换为由 classname 决定的给定类型,然后使用 Camel OGNL 表达式调用方法。转换的正文可以是 null。 |
mandatoryBodyAs(type) | 类型 | Camel 2.5: 将正文转换为由 classname 确定的给定类型,并且希望正文不是 null。 |
mandatoryBodyAs(type).OGNL | 对象 | Camel 2.18: 将正文转换为由 classname 决定的给定类型,然后使用 Camel OGNL 表达式调用方法。 |
out.body | 对象 | 输出正文 |
header.foo | 对象 | 请参阅输入 foo 标头 |
header[foo] | 对象 | Camel 2.9.2 : 请参阅输入 foo 标头 |
headers.foo | 对象 | 请参阅输入 foo 标头 |
headers[foo] | 对象 | Camel 2.9.2 : 请参阅输入 foo 标头 |
in.header.foo | 对象 | 请参阅输入 foo 标头 |
in.header[foo] | 对象 | Camel 2.9.2 : 请参阅输入 foo 标头 |
in.headers.foo | 对象 | 请参阅输入 foo 标头 |
in.headers[foo] | 对象 | Camel 2.9.2 : 请参阅输入 foo 标头 |
header.foo[bar] | 对象 | Camel 2.3: 将输入 foo 标头视为映射,并在映射上以 bar 作为键执行查找 |
in.header.foo[bar] | 对象 | Camel 2.3: 将输入 foo 标头视为映射,并在映射上以 bar 作为键执行查找 |
in.headers.foo[bar] | 对象 | Camel 2.3: 将输入 foo 标头视为映射,并在映射上以 bar 作为键执行查找 |
header.foo.OGNL | 对象 | Camel 2.3: 引用输入 foo 标头,并使用 Camel OGNL 表达式调用其值。 |
in.header.foo.OGNL | 对象 | Camel 2.3: 引用输入 foo 标头,并使用 Camel OGNL 表达式调用其值。 |
in.headers.foo.OGNL | 对象 | Camel 2.3: 引用输入 foo 标头,并使用 Camel OGNL 表达式调用其值。 |
out.header.foo | 对象 | 请参阅 out 标头 foo |
out.header[foo] | 对象 | Camel 2.9.2 : 请参阅 out 标头 foo |
out.headers.foo | 对象 | 请参阅 out 标头 foo |
out.headers[foo] | 对象 | Camel 2.9.2 : 请参阅 out 标头 foo |
headerAs(key,type) | 类型 | Camel 2.5: 将标头转换为由其 classname 确定的给定类型 |
标头 | Map | Camel 2.9: 请参阅输入标头 |
in.headers | Map | Camel 2.9: 请参阅输入标头 |
property.foo | 对象 | deprecated : 引用交换上的 foo 属性 |
exchangeProperty.foo | 对象 | Camel 2.15: 引用交换上的 foo 属性 |
property[foo] | 对象 | deprecated : 引用交换上的 foo 属性 |
exchangeProperty[foo] | 对象 | Camel 2.15: 引用交换上的 foo 属性 |
property.foo.OGNL | 对象 | deprecated : 引用交换上的 foo 属性,并使用 Camel OGNL 表达式调用其值。 |
exchangeProperty.foo.OGNL | 对象 | Camel 2.15: 引用交换上的 foo 属性,并使用 Camel OGNL 表达式调用其值。 |
sys.foo | 字符串 | 请参阅系统属性 |
sysenv.foo | 字符串 | Camel 2.3: 请参考系统环境 |
例外 | 对象 |
Camel 2.4 : 如果没有在交换上设置异常,请参阅交换上的异常对象为 null。如果 Exchange 有任何,将会回退和获取异常( |
exception.OGNL | 对象 | Camel 2.4 : 请参阅 使用 Camel OGNL 表达式对象调用的交换异常 |
exception.message | 字符串 |
如果没有在交换上设置异常,请参阅 Exchange 上的 exception.message。如果 Exchange 有任何,将会回退和获取异常( |
exception.stacktrace | 字符串 |
Camel 2.6。如果没有在交换上设置异常,请参阅交换上的 exception.stracktrace。如果 Exchange 有任何,将会回退和获取异常( |
date:_command_ | Date | 评估为 Date 对象。支持的命令是:对于当前的时间戳,in.header.xxx 或 header.xxx 使用 IN 标头中的 Date 对象和键 xxx。out.header.xxx,使用带有键 xxx 的 OUT 标头中的 Date 对象。property.xxx,将 exchange 属性中的 Date 对象与键 xxx 搭配使用。文件 的最后一个修改时间戳的文件(可通过文件消费者使用)。命令接受偏移,如: now-24h 或 in.header.xxx+1h,甚至 现在+1h30m-100。 |
date:_command:pattern_ | 字符串 |
使用 |
date-with-timezone:_command:timezone:pattern_ | 字符串 |
使用 |
bean:_bean expression_ | 对象 | 使用 Bean 语言调用 bean 表达式.指定方法名称,必须使用点作为分隔符。我们还支持 Bean 组件使用的 ?method=methodname 语法。 |
properties:_locations:key_ | 字符串 |
弃用(改为使用 properties-location)Camel 2.3: 查找带有给定键的属性。 |
properties-location:_http://locationskey[locations:key]_ | 字符串 |
Camel 2.14.1: 查找带有给定密钥的属性。 |
properties:key:default | 字符串 | Camel 2.14.1 :查找带有给定密钥的属性。如果键不存在或没有值,则可以指定可选的默认值。 |
routeId | 字符串 | Camel 2.11: 返回正在路由 Exchange 的当前路由的 id。 |
threadName | 字符串 | Camel 2.3 : 返回当前线程的名称。可用于日志目的。 |
ref:xxx | 对象 | Camel 2.6: 从带有给定 id 的 Registry 中查找 bean。 |
type:name.field | 对象 |
Camel 2.11: 通过其 FQN 名称来引用类型或字段。要引用某个字段,您可以附加 .FIELD_NAME。例如,您可以将 Exchange 中的 constant 字段引用为: |
null | null | Camel 2.12.3: 代表 null |
random_(value)_ | 整数 | *Camel 2.16.0:*returns a random Integer between 0 (included)和 value (excluded) |
random_(min,max)_ | 整数 | *Camel 2.16.0:*returns a random Integer between min (included)和 max (excluded) |
collate(group) | list | Camel 2.17: collate 函数迭代消息正文,并将数据分组到指定大小的子列表中。这可与 Splitter EIP 一起使用,将消息正文和 group/batch 分成一组 N 子列表。这个方法的工作方式与 Groovy 中的合作方法类似。 |
skip(number) | Ierator | Camel 2.19: skip 函数迭代消息正文并跳过第一个项目数。这可与 Splitter EIP 一起使用来分割消息正文,并跳过第一个 N 个项目数。 |
messageHistory | 字符串 | Camel 2.17: 当前交换的路由方式的消息历史记录。这类似于路由 stack-trace 消息历史记录,在出现未处理异常时的错误处理程序日志。 |
messageHistory(false) | 字符串 | Camel 2.17: 作为 messageHistory,但没有交换详情(仅包含路由 strack-trace)。如果您不想从消息本身记录敏感数据,则可以使用此选项。 |