第 156 章 Ignite Compute 组件

作为 Camel 2.17 版提供

Ignite Compute 端点是一个 camel-ignite 端点,它允许您传递一个 IgniteCallable、IgniteCallable、IgniteRunnable、IgniteClosure 或它们的集合来在集群中运行 计算操作

此端点仅支持制作者。

端点 URI 的主机部分是符号链接端点 ID,它不用于任何目的。

端点试图运行作为计算作业在 IN 消息正文中传递的对象。根据执行类型,它需要不同的有效负载类型。

156.1. 选项

Ignite Compute 组件支持 4 个选项,它们如下所列。

名称描述默认类型

ignite (producer)

设置 Ignite 实例。

 

Ignite

configurationResource (producer)

设置从中加载配置的资源。它可以是: URI、String (URI)或 InputStream。

 

对象

igniteConfiguration (producer)

允许用户设置程序化 IgniteConfiguration。

 

IgniteConfiguration

resolveProperty Placeholders (advanced)

启动时,组件是否应自行解析属性占位符。只有 String 类型的属性才能使用属性占位符。

true

布尔值

Ignite Compute 端点使用 URI 语法配置:

ignite-compute:endpointId

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

156.1.1. 路径名(1 参数):

名称描述默认类型

endpointId

必需 端点 ID (不使用)。

 

字符串

156.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

布尔值

同步 (高级)

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

false

布尔值