85.2. 选项


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

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

Expand
名称描述默认值类型

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

所需的 队列名称

 

字符串

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

Expand
名称描述默认值类型

size (common)

Disruptors ringbuffer 的最大容量将有效地增加到最接近的 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。最后的值(ifReplyExpected)将仅在消息是 Request Reply based 时等待。

IfReplyExpected

WaitForTaskToComplete

同步 (advanced)

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

false

布尔值

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat