第155章 Ignite Compute コンポーネント
Camel バージョン 2.17 以降で利用可能
Ignite Compute エンドポイントは camel-ignite エンドポイントの 1 つで、必要に応じてパラメーターと共に IgniteCallable、IgniteRunnable、IgniteClosure、またはそれらのコレクションを渡すことにより、クラスターで コンピュート操作 を実行できます。
このエンドポイントはプロデューサーのみをサポートします。
エンドポイント URI のホスト部分は、シンボリックエンドポイント ID であり、いかなる目的にも使用されません。
エンドポイントは、IN メッセージの本文で渡されたオブジェクトをコンピューティングジョブとして実行しようとします。実行タイプに応じて、さまざまなペイロードタイプが想定されます。
155.1. オプション
Ignite Compute コンポーネントは、以下に示す 4 個のオプションをサポートしています。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
ignite (producer) | Ignite インスタンスを設定します。 | Ignite | |
configurationResource (producer) | 設定をロードするリソースを設定します。URI、文字列 (URI)、または InputStream のいずれかです。 | Object | |
igniteConfiguration (producer) | ユーザーがプログラムによる IgniteConfiguration を設定できるようにします。 | IgniteConfiguration | |
resolveProperty Placeholders (advanced) | 起動時にコンポーネントがプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。 | true | boolean |
Ignite Compute エンドポイントは、URI 構文を使用して設定されます。
ignite-compute:endpointId
パスおよびクエリーパラメーターを使用します。
155.1.1. パスパラメーター (1 個のパラメーター):
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
endpointId | 必須 エンドポイント ID (使用されません)。 | String |
155.1.2. クエリーパラメーター (8 つのパラメーター):
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
clusterGroupExpression (producer) | IgniteCompute インスタンスのクラスターグループを返す式。 | ClusterGroupExpression | |
computeName (producer) | リンク IgniteComputewithName (String) を介して設定されるコンピューティングジョブの名前。 | 文字列 | |
executionType (producer) | 必須 実行するコンピュート操作。可能な値: CALL、BROADCAST、APPLY、EXECUTE、RUN、AFFINITY_CALL、AFFINITY_RUN。コンポーネントは、操作に応じて異なるペイロードタイプを想定しています。 | IgniteComputeExecution 型 | |
propagateIncomingBodyIfNo ReturnValue (producer) | 基になる Ignite 操作の戻り値の型が void の場合に、入力ボディーを伝播するかどうかを設定します。 | true | boolean |
taskName (producer) | リンク IgniteComputeExecutionTypeEXECUTE 実行タイプを使用する場合にのみ適用されるタスク名。 | 文字列 | |
timeoutMillis (producer) | トリガーされたジョブのタイムアウト間隔 (ミリ秒)。リンク IgniteComputewithTimeout(long) で設定されます。 | Long | |
treatCollectionsAsCache Objects (producer) | コレクションをキャッシュオブジェクトとして扱うか、アイテムのコレクションとして扱うかを設定し、挿入/更新/計算などを行います。 | false | boolean |
synchronous (advanced) | 同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。 | false | boolean |
155.1.3. 予想されるペイロードの型
各操作には、指定された型が必要です。
操作 | 予想されるペイロード |
---|---|
CALL | IgniteCallable のコレクション、または単一の IgniteCallable。 |
BROADCAST | IgniteCallable, IgniteRunnable, IgniteClosure. |
APPLY | IgniteClosure. |
EXECUTE | taskName オプションが NULL でない場合は、ComputeTask、Class<? extends ComputeTask>、またはパラメータを表すオブジェクトを指定します。 |
実行 | IgniteRunnables のコレクション、または単一の IgniteRunnable。 |
AFFINITY_CALL | IgniteCallable. |
AFFINITY_RUN | IgniteRunnable. |
155.1.4. 使用されるヘッダー
このエンドポイントは、次のヘッダーを使用します。
ヘッダー名 | 定数 | 想定されるタイプ | 説明 |
---|---|---|---|
CamelIgniteComputeExecutionType | IgniteConstants.IGNITE_COMPUTE_EXECUTION_TYPE | IgniteComputeExecutionType enum | 実行するコンピュート操作を動的に変更できます。 |
CamelIgniteComputeParameters | IgniteConstants.IGNITE_COMPUTE_PARAMS | 任意のオブジェクトまたはオブジェクトのコレクション。 | APPLY、BROADCAST、および EXECUTE 操作のパラメーター。 |
CamelIgniteComputeReducer | IgniteConstants.IGNITE_COMPUTE_REDUCER | IgniteReducer | APPLY および CALL 操作のリデューサー。 |
CamelIgniteComputeAffinityCacheName | IgniteConstants.IGNITE_COMPUTE_AFFINITY_CACHE_NAME | String | AFFINITY_CALL および AFFINITY_RUN 操作のアフィニティーキャッシュ名。 |
CamelIgniteComputeAffinityKey | IgniteConstants.IGNITE_COMPUTE_AFFINITY_KEY | Object | AFFINITY_CALL 操作と AFFINITY_RUN 操作のアフィニティーキー。 |