140.5. 端点选项


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

stub:name

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

140.5.1. 路径参数(1 参数)

Name描述默认值类型

name (common)

必需的 队列名称。

 

字符串

140.5.2. 查询参数(18 参数)

Name描述默认值类型

size (common)

SEDA 队列的最大容量(例如,它可以保存的消息数)。默认情况下,将使用 SEDA 组件上设置的 defaultSize。

1000

int

bridgeErrorHandler (consumer)

允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。

false

布尔值

concurrentConsumers (consumer)

并发线程处理交换的数量。

1

int

exceptionHandler (consumer (advanced))

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

 

ExceptionHandler

exchangePattern (consumer (advanced))

在消费者创建交换时设置交换模式。

Enum 值:

  • InOnly
  • InOut
  • InOptionalOut
 

ExchangePattern

limitConcurrentConsumers (consumer (advanced))

是否将 concurrentConsumers 的数量限制为最多 500。默认情况下,如果端点配置了更大的数字,则会抛出异常。您可以通过关闭这个选项来禁用该检查。

true

布尔值

multipleConsumers (consumer (advanced))

指定是否允许多个消费者。如果启用,您可以使用 SEDA 进行 Publish-Subscribe 消息。也就是说,您可以向 SEDA 队列发送消息,并让每个消费者收到邮件的副本。启用后,应在每个消费者端点上指定此选项。

false

布尔值

pollTimeout (consumer (advanced))

轮询时使用的超时(以毫秒为单位)。发生超时时,使用者可以检查是否允许继续运行。设置较低值可让使用者在关闭时更快地做出反应。

1000

int

purgeWhenStopping (consumer (advanced))

在停止 consumer/route 时是否清除任务队列。这允许更快地停止,因为队列中的任何待处理消息都会被丢弃。

false

布尔值

blockWhenFull (producer)

将消息发送到完整 SEDA 队列的线程将阻止,直到队列的容量不再耗尽为止。默认情况下,会抛出一个异常,表示队列已满。通过启用这个选项,调用线程将阻止并等待消息被接受。

false

布尔值

discardIfNoConsumers (producer)

当发送到没有活跃消费者的队列时,生成者是否应该丢弃消息(不要将消息添加到队列)。可以同时启用其中一个选项 discardIfNoConsumers 和 failIfNoConsumers。

false

布尔值

discardWhenFull (producer)

是否将消息发送到完整 SEDA 队列的线程将被丢弃。默认情况下,会抛出一个异常,表示队列已满。通过启用这个选项,调用线程将放弃发送和继续,这意味着消息没有发送到 SEDA 队列。

false

布尔值

failIfNoConsumers (producer)

当发送到没有活跃用户的队列时,生成者是否应该通过抛出异常。可以同时启用其中一个选项 discardIfNoConsumers 和 failIfNoConsumers。

false

布尔值

lazyStartProducer (producer)

生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。

false

布尔值

offerTimeout (producer)

当队列满时,提供超时(以毫秒为单位)添加到块问题单中。您可以使用 0 或负值禁用超时。

 

long

timeout (producer)

SEDA 生成者停止等待异步任务完成前的超时(以毫秒为单位)。您可以使用 0 或负值禁用超时。

30000

long

waitForTaskToComplete (producer)

选项指定调用者是否应该等待 async 任务在继续前等待。支持以下三个选项: Always、Never 或 IfReplyExpected。前两个值为 self-explanatory。最后的值如果为 Request ReplyExpected,只有在消息是 Request Reply based 时等待。默认选项为 IfReplyExpected。

Enum 值:

  • Never
  • IfReplyExpected
  • Always

IfReplyExpected

WaitForTaskToComplete

队列 (advanced)

定义供端点使用的队列实例。

 

BlockingQueue

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.