第 139 章 Hazelcast SEDA 组件
可作为 Camel 版本 2.7 提供
Hazelcast SEDA 组件是 Camel Hazelcast 组件之一,它允许您访问 Hazelcast BlockingQueue。SEDA 组件与提供的其余组件不同。它实施工作队列以支持异步 SEDA 架构,类似于核心"SEDA"组件。
139.1. 选项
Hazelcast SEDA 组件支持 3 个选项,它们如下所列。
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
hazelcastInstance (advanced) | hazelcast 实例参考,可用于 hazelcast 端点。如果没有指定实例引用,则 camel 使用 camel-hazelcast 实例中的默认 hazelcast 实例。 | HazelcastInstance | |
hazelcastMode (advanced) | 应使用哪种实例的 hazelcast 模式。如果没有指定模式,则节点模式将是默认设置。 | node | 字符串 |
resolveProperty Placeholders (advanced) | 启动时,组件是否应自行解析属性占位符。只有 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
Hazelcast SEDA 端点使用 URI 语法进行配置:
hazelcast-seda:cacheName
使用以下路径和查询参数:
139.1.1. 路径名(1 参数):
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
cacheName | 所需的 缓存名称 | 字符串 |
139.1.2. 查询参数(16 参数):
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
defaultOperation (common) | 要指定要使用的默认操作,如果没有提供操作标头。 | HazelcastOperation | |
hazelcastInstance (common) | hazelcast 实例参考,可用于 hazelcast 端点。 | HazelcastInstance | |
hazelcastInstanceName (common) | hazelcast 实例参考名称,可用于 hazelcast 端点。如果没有指定实例引用,则 camel 使用 camel-hazelcast 实例中的默认 hazelcast 实例。 | 字符串 | |
reliable (common) | 定义端点是否使用可靠的主题结构。 | false | 布尔值 |
bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由 Error Handler,这意味着使用者试图获取传入消息或类似信息时出现任何异常,现在将作为一个消息进行处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.Exception 处理程序处理异常,该处理程序将记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
pollingTimeout (consumer) | 在 Poll 模式中定义 Queue consumer 的轮询超时 | 10000 | long |
poolSize (consumer) | 定义 Queue Consumer Executor 的池大小 | 1 | int |
queueConsumerMode (consumer) | 定义 Queue Consumer mode: Listen 或 Poll | listen | HazelcastQueueConsumer Mode |
exceptionHandler (consumer) | 要让使用者使用自定义 ExceptionHandler。请注意,如果启用了选项 bridgeErrorHandler,则不使用这个选项。默认情况下,消费者处理异常,这将在 WARN 或 ERROR 级别记录,并忽略。 | ExceptionHandler | |
exchangePattern (consumer) | 在使用者创建交换时设置交换模式。 | ExchangePattern | |
同步 (高级) | 设置同步处理是否应当严格使用,还是允许 Camel 使用异步处理(如果受支持)。 | false | 布尔值 |
concurrentConsumers (seda) | 使用并发消费者从 SEDA 队列进行轮询。 | 1 | int |
onErrorDelay (seda) | 发生错误后使用者继续轮询前的毫秒。 | 1000 | int |
pollTimeout (seda) | 从 SEDA 队列消耗的超时。发生超时时,消费者可以检查是否允许继续运行。设置较低值可让使用者在关闭时更快地响应。 | 1000 | int |
已翻译 (seda) | 如果设置为 true,则消费者以事务模式运行,只有在事务提交完成时,seda 队列中的消息才会被删除。 | false | 布尔值 |
transferExchange (seda) | 如果设置为 true,则将传输整个交换。如果标头或正文不包含序列化对象,则会跳过它们。 | false | 布尔值 |