搜索

92.2. 变量

download PDF
变量类型描述

camelId

字符串

CamelContext 名称

camelContext.OGNL

对象

使用 Camel OGNL 表达式调用的 CamelContext。

交换

Exchange

Exchange

exchange.OGNL

对象

使用 Camel OGNL 表达式调用的 Exchange。

exchangeId

字符串

交换 ID

id

字符串

消息 ID

messageTimestamp

字符串

此消息来自的消息时间戳(自 epoc 起)。有些系统,如 JMS, Kafka, AWS 在 Camel 接收的事件/消息上有一个时间戳。如果存在时间戳,此方法会返回时间戳。创建的消息时间戳和交换不同。交换始终具有创建的时间戳,这是 Camel 创建交换时的本地时间戳。只有在消费者可以从源事件中提取时间戳时,消息时间戳仅在某些 Camel 组件中可用。如果消息没有时间戳,则返回 0。

正文(body)

对象

正文

body.OGNL

对象

使用 Camel OGNL 表达式调用的正文。

bodyAs(type)

类型

将正文转换为由 classname 决定的给定类型。转换的正文可以是 null。

bodyAs(type).OGNL

对象

将正文转换为由 classname 决定的给定类型,然后使用 Camel OGNL 表达式调用方法。转换的正文可以是 null。

bodyOneLine

字符串

将正文转换为 String,并删除所有 line-breaks,以便字符串在一行内。

mandatoryBodyAs(type)

类型

将正文转换为由 classname 决定的给定类型,并且希望正文不是 null。

mandatoryBodyAs(type).OGNL

对象

将正文转换为由 classname 决定的给定类型,然后使用 Camel OGNL 表达式调用方法。

header.foo

对象

请参阅 foo 标头

header[foo]

对象

请参阅 foo 标头

headers.foo

对象

请参阅 foo 标头

headers:foo

对象

请参阅 foo 标头

headers[foo]

对象

请参阅 foo 标头

header.foo[bar]

对象

将 foo 标头视为映射,并使用 bar 作为键在映射上执行查询

header.foo.OGNL

对象

请参阅 foo 标头并使用 Camel OGNL 表达式调用其值。

headerAs(key,type)

类型

将标头转换为由 classname 确定的给定类型

标头

Map

请参阅标头

exchangeProperty.foo

对象

请参阅交换中的 foo 属性

exchangeProperty[foo]

对象

请参阅交换中的 foo 属性

exchangeProperty.foo.OGNL

对象

请参阅交换上的 foo 属性,并使用 Camel OGNL 表达式调用其值。

sys.foo

字符串

请参阅 JVM 系统属性

sysenv.foo

字符串

请参阅系统环境变量

env.foo

字符串

请参阅系统环境变量

例外

对象

如果没有在交换上设置异常对象,请参阅交换上的异常对象为 null。如果交换有任何,将回退和获取例外(Exchange.EXCEPTION_CAUGHT)。

exception.OGNL

对象

请参阅使用 Camel OGNL 表达式对象调用的交换异常

exception.message

字符串

如果没有在交换上设置异常,请参阅交换上的 exception.message。如果交换有任何,将回退和获取例外(Exchange.EXCEPTION_CAUGHT)。

exception.stacktrace

字符串

如果没有对交换设置了异常,请参阅交换上的 exception.stracktrace。如果交换有任何,将回退和获取例外(Exchange.EXCEPTION_CAUGHT)。

date:_command_

Date

评估日期对象。支持的命令现在为当前时间戳,在创建当前交换时 exchangeCreated 用于时间戳,header.xxx 使用带有键 xxx 的 Long/Date 对象标头。exchangeProperty.xxx 使用 exchange 属性中的 Long/Date 对象,其键为 xxx。文件 最后一次修改的时间戳的文件(可供文件消费者使用)。命令接受偏移量,如 -24hheader.xxx+1hnow+1h30m-100

date:_command:pattern_

字符串

使用 java.text.SimpleDateFormat 模式进行日期格式。

date-with-timezone:_command:timezone:pattern_

字符串

使用 java.text.SimpleDateFormat 时区和模式进行日期格式。

bean:_bean expression_

对象

使用语言调用 bean 表达式。指定方法名称必须使用点作为分隔符。我们还支持组件所使用的 ?method=methodname 语法。Camel 默认将按指定名称查找 bean。但是,如果您需要引用 bean 类(如调用静态方法),您可以使用 type 前缀,如 bean:type:fqnClassName

properties:key:default

字符串

使用给定键查找属性。如果键不存在或没有值,则可以指定可选的默认值。

routeId

字符串

返回交换正在路由的当前路由的 id。

stepId

字符串

返回交换正在路由的当前步骤的 id。

threadName

字符串

返回当前线程的名称。可用于日志记录目的。

hostname

字符串

返回本地主机名(如果无法解析,则为空)。

ref:xxx

对象

从 Registry 中查找给定 ID 的 bean:

type:name.field

对象

按其 FQN 名称引用类型或字段。要引用字段,您可以附加 .FIELD_NAME。例如,您可以将 Exchange 中的常量字段称为: org.apache.camel.Exchange.FILE_NAME

null

null

代表 null

random(value)

整数

返回一个随机的、在 0 (包括) 和 value (不包括) 之间的值

random(min,max)

整数

min (包括)和最大(不包括)之间返回一个随机整数

collate(group)

list

collate 函数迭代消息正文,并将数据分组到指定大小的子列表中。这可以与 Splitter EIP 一起使用,将消息正文和组/批处理分割子消息到一组 N 子列表。这个方法的工作方式与 Groovy 中的协作方法类似。

skip(number)

iterator

skip 功能迭代消息正文并跳过第一个项目数量。这可以与 Splitter EIP 一起使用,以分割消息正文并跳过第 N 个项目的数量。

messageHistory

字符串

当前交换是如何路由的消息历史记录。这与路由 stack-trace 消息在未处理的异常时记录错误处理程序日志。

messageHistory(false)

字符串

作为 messageHistory,但没有交换详情(仅包含路由 stack-trace)。如果您不想从消息本身记录敏感数据,可以使用此选项。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.