85.2. 选项


所有以下选项都对 disruptor:disruptor-vm: 组件都有效。

Disruptor 组件支持 8 个选项,如下所列。

Expand
Name描述默认值类型

defaultConcurrent Consumers (consumer)

配置默认的并发消费者数

1

int

defaultMultiple Consumers (consumer)

为多个消费者配置默认值

false

布尔值

defaultProducerType (producer)

要为 DisruptorProducerType 配置默认值,默认值为 Multi。

multi

DisruptorProducerType

defaultWaitStrategy (consumer)

要为 DisruptorWaitStrategy 配置默认值,默认值为 Blocking。

Blocking

DisruptorWaitStrategy

defaultBlockWhenFull (producer)

当 full 的默认值为 true 时,要为 block 配置默认值。

true

布尔值

queueSize (common)

弃用 以配置环缓冲大小

 

int

bufferSize (common)

配置环缓冲大小

1024

int

resolveProperty Placeholders (advanced)

组件是否应在启动时解析属性占位符。只有 String 类型的属性可以使用属性占位符。

true

布尔值

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

disruptor:name
Copy to Clipboard Toggle word wrap

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

85.2.1. 路径参数(1 参数):

Expand
Name描述默认值类型

name

所需 队列的名称

 

字符串

85.2.2. 查询参数(12 参数):

Expand
Name描述默认值类型

size (common)

Disruptors 环缓冲的最大容量将有效增加到最接近 2 的指数。注意:如果使用这个选项,则使用队列名称创建的第一个端点,则决定大小。为确保所有端点都使用相同的大小,请在所有这些端点或创建的第一个端点上配置 size 选项。

1024

int

bridgeErrorHandler (consumer)

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

false

布尔值

concurrentConsumers (consumer)

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

1

int

multipleConsumers (consumer)

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

false

布尔值

waitStrategy (consumer)

定义消费者线程用于在发布新交换时等待的策略。允许的选项有:Blocking、Sleeping、BusySpin 和 Yielding。

Blocking

DisruptorWaitStrategy

ExceptionHandler ( consumer)

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

 

ExceptionHandler

exchangePattern (consumer)

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

 

ExchangePattern

blockWhenFull (producer)

将消息发送到完全 Disruptor 的线程将阻止,直到环缓冲区的容量不再耗尽为止。默认情况下,调用线程将阻止并等待消息被接受。禁用这个选项后,会抛出一个例外,表示队列已满。

false

布尔值

producerType (producer)

定义在 Disruptor 上允许的制作者。允许的选项有: Multi to allow multiple producers 和 Single,仅在一个并发制作者(在一个线程或其他同步)处于活跃状态时才允许进行某些优化。

multi

DisruptorProducerType

timeout (producer)

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

30000

long

waitForTaskToComplete (producer)

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

IfReplyExpected

WaitForTaskToComplete

同步 (高级)

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

false

布尔值

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat