62.4. 端点选项
Stub 端点使用 URI 语法进行配置:
stub:name
使用以下路径和查询参数:
62.4.1. 路径参数(1 参数)
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
name (common) | 所需的 队列名称。 | 字符串 |
62.4.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 值:
| ExchangePattern | |
limitConcurrentConsumers (consumer (advanced)) | 是否将 concurrentConsumers 数量限制为最大 500。默认情况下,如果使用数字配置了端点,则会抛出异常。您可以通过关闭这个选项来禁用该检查。 | true | 布尔值 |
multipleConsumers (consumer (advanced)) | 指定是否允许多个使用者。如果启用,您可以使用 SEDA 进行 Publish-Subscribe 消息传递。也就是说,您可以向 SEDA 队列发送一条消息,并为每个使用者收到消息的副本。启用后,应在每个消费者端点上指定这个选项。 | false | 布尔值 |
pollTimeout (consumer (advanced)) | 轮询时使用的超时时间(以毫秒为单位)。发生超时时,使用者可以检查是否允许继续运行。设置较低值可让消费者在关闭时更快响应。 | 1000 | int |
purgeWhenStopping (consumer (advanced)) | 在停止消费者/路由时是否清除任务队列。这样可以更快地停止,因为队列上的任何待处理消息都会被丢弃。 | 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 producer 停止等待异步任务完成前,超时(以毫秒为单位)。您可以使用 0 或负值禁用超时。 | 30000 | long |
waitForTaskToComplete (producer) | 指定调用者是否应该等待 async 任务完成的选项,然后再继续。支持以下三个选项: Always、Never 或 IfReplyExpected。前两个值是自解释。最后的值 IfReplyExpected 将仅在消息基于 Request Reply 时才会等待。默认选项为 IfReplyExpected。 Enum 值:
| IfReplyExpected | WaitForTaskToComplete |
queue (advanced) | 定义端点要使用的队列实例。 | BlockingQueue |