第 373 章 XQuery Component


作为 Camel 版本 1.0 可用

Camel 支持 XQuery,允许在 DSL 或 Xml 配置中使用表达式或 predicates。例如,您可以使用 XQuery 在 Message Filter 中创建 Predicate,或作为 Recipient List 的 Expression。

373.1. 选项

XQuery 组件支持 4 个选项,它们如下所列。

名称描述默认类型

moduleURIResolver (高级)

使用自定义 ModuleURIResolver

 

ModuleURIResolver

配置 (高级)

使用自定义 Saxon 配置

 

配置

configurationProperties (advanced)

设置自定义 Saxon 配置属性

 

map

resolveProperty Placeholders (advanced)

启动时,组件是否应自行解析属性占位符。只有 String 类型的属性才能使用属性占位符。

true

布尔值

XQuery 端点使用 URI 语法进行配置:

xquery:resourceUri

使用以下路径和查询参数:

373.1.1. 路径名(1 参数):

名称描述默认类型

resourceUri

需要 模板的名称以便从 classpath 或文件系统载入

 

字符串

373.1.2. 查询参数(31 参数):

名称描述默认类型

allowStAX (common)

是否允许使用 StAX 模式

false

布尔值

headerName (common)

使用 Camel 消息标头作为输入源,而不是消息正文。

 

字符串

namespacePrefixes (common)

允许控制用于一组命名空间映射的命名空间前缀

 

map

resultsFormat (common)

要使用的输出结果

DOM

ResultFormat

resultType (common)

使用什么输出结果将定义为类

 

class<?>

stripsAllWhiteSpace (common)

是否要剥离所有空格

true

布尔值

bridgeErrorHandler (consumer)

允许将消费者桥接到 Camel 路由 Error Handler,这意味着使用者试图获取传入消息或类似信息时出现任何异常,现在将作为一个消息进行处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.Exception 处理程序处理异常,该处理程序将记录在 WARN 或 ERROR 级别,并忽略。

false

布尔值

sendEmptyMessageWhenIdle (consumer)

如果轮询使用者没有轮询任何文件,您可以启用这个选项来发送空消息(无正文)。

false

布尔值

exceptionHandler (consumer)

要让使用者使用自定义 ExceptionHandler。请注意,如果启用了选项 bridgeErrorHandler,则不使用这个选项。默认情况下,消费者处理异常,这将在 WARN 或 ERROR 级别记录,并忽略。

 

ExceptionHandler

exchangePattern (consumer)

在使用者创建交换时设置交换模式。

 

ExchangePattern

pollStrategy (consumer)

可插拔 org.apache.camel.PollingConsumerPollingStrategy 允许您提供自定义实施来控制在轮询操作中通常会发生错误处理,然后再在 Camel 中创建并被路由。

 

PollingConsumerPoll Strategy

配置 (高级)

使用自定义 Saxon 配置

 

配置

configurationProperties (advanced)

设置自定义 Saxon 配置属性

 

map

moduleURIResolver (高级)

使用自定义 ModuleURIResolver

 

ModuleURIResolver

参数 (高级)

其他参数

 

map

属性 (高级)

配置序列化参数的属性

 

Properties

staticQueryContext (advanced)

使用自定义 Saxon StaticQueryContext

 

StaticQueryContext

同步 (高级)

设置同步处理是否应当严格使用,还是允许 Camel 使用异步处理(如果受支持)。

false

布尔值

backoffErrorThreshold (scheduler)

后续错误轮询(因某些错误导致的失败)的数量,在 backoffMultipler 应该启动前发生。

 

int

backoffIdleThreshold (scheduler)

后续闲置轮询的数量,在 backoffMultipler 应该启动之前发生。

 

int

backoffMultiplier (scheduler)

如果行中有多个后续闲置/errors,让调度的轮询消费者重新关闭。然后,倍数是下一次实际尝试发生前跳过的轮询数量。当使用这个选项时,还必须配置 backoffIdleThreshold 和/or backoffErrorThreshold。

 

int

延迟 (scheduler)

下次轮询前的毫秒。您还可以使用单位(60 秒)、5m30s (5 分钟和 30 秒)和 1h (1 小时)指定时间值。

500

long

greedy (scheduler)

如果启用了 greedy,则 ScheduledPollConsumer 将立即再次运行,如果上一运行轮询了 1 或更多消息。

false

布尔值

initialDelay (scheduler)

第一次轮询启动前的毫秒。您还可以使用单位(60 秒)、5m30s (5 分钟和 30 秒)和 1h (1 小时)指定时间值。

1000

long

runLoggingLevel (scheduler)

消费者日志轮询轮询时启动/完成日志行。此选项允许您为其配置日志级别。

TRACE

LoggingLevel

scheduledExecutorService (scheduler)

允许配置用于使用者的自定义/共享线程池。默认情况下,每个使用者都有自己的单个线程池。

 

ScheduledExecutor 服务

调度程序 (scheduler)

使用来自 camel-spring 或 camel-quartz2 组件的 cron 调度程序

none

ScheduledPollConsumer Scheduler

schedulerProperties (scheduler)

在使用自定义调度程序或任何基于 Spring 的调度程序时配置额外属性。

 

map

startScheduler (scheduler)

调度程序是否应自动启动。

true

布尔值

timeUnit (scheduler)

初始延迟和延迟选项的时间单位。

毫秒

TimeUnit

useFixedDelay (scheduler)

控制是否使用固定延迟或固定率。详情请参阅 JDK 中的 ScheduledExecutorService。

true

布尔值

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.