第 157 章 Ignite Compute 组件
从 Camel 版本 2.17 开始提供
Ignite Compute 端点是一个 camel-ignite 端点之一,它允许您通过传递一个 IgniteCallable,一个 IgniteRunnable, 一个 IgniteRunnable, 一个 IgniteClosure, 以及它们的参数来在集群中运行 计算操作。
此端点只支持生成者。
端点 URI 的主机部分是一个符号端点 ID,它不用于任何目的。
端点会尝试运行作为计算作业在 IN 消息的正文中传递的对象。根据执行类型,它需要不同的有效负载类型。
157.1. 选项
Ignite Compute 组件支持 4 个选项,如下所列。
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
ignite (producer) | 设置 Ignite 实例。 | Ignite | |
configurationResource (producer) | 设置从中加载配置的资源。它可以是:URI、String (URI)或 InputStream。 | 对象 | |
igniteConfiguration (producer) | 允许用户设置 programmatic IgniteConfiguration。 | IgniteConfiguration | |
resolveProperty Placeholders (advanced) | 启动时组件是否应解析自身上的属性占位符。只有属于 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
Ignite Compute 端点使用 URI 语法进行配置:
ignite-compute:endpointId
使用以下路径和查询参数:
157.1.1. 路径参数(1 参数):
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
endpointId | 必需 端点 ID (不使用)。 | 字符串 |
157.1.2. 查询参数(8 参数):
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
clusterGroupExpression (producer) | 为 IgniteCompute 实例返回 Cluster Group 的表达式。 | ClusterGroupExpression | |
computeName (producer) | 计算作业的名称,将通过 IgniteCompute#withName (String)设置。 | 字符串 | |
executionType (producer) | 需要 执行计算操作。可能的值有:CALL, BROADCAST, APPLY, EXECUTE, RUN, AFFINITY_CALL, AFFINITY_RUN.组件需要不同的有效负载类型,具体取决于操作。 | IgniteComputeExecution Type | |
propagateIncomingBodyIfNo ReturnValue (producer) | 如果底层 Ignite 操作的返回类型为 void,则设置是否传播传入的正文。 | true | 布尔值 |
taskName (producer) | 任务名称仅在使用 IgniteComputeExecutionType#EXECUTE 执行类型时才适用。 | 字符串 | |
timeoutMillis (producer) | 触发的作业的超时时间(以毫秒为单位),这会通过 IgniteCompute#withTimeout (long)设置。 | Long | |
treatCollectionsAsCache Objects (producer) | 设置是否将集合视为缓存对象或项目集合来插入/更新/计算等。 | false | 布尔值 |
同步 (advanced) | 设置是否应严格使用同步处理,或者 Camel 允许使用异步处理(如果受支持)。 | false | 布尔值 |