第148章 ignite Compute コンポーネント
Camel バージョン 2.17 から利用可能
Ignite Compute エンドポイントは camel-ignite エンドポイントの 1 つで、必要に応じて IgniteCallable、IgniteRunnable、IgniteClosure またはそれらのコレクションを渡して、クラスターで コンピュート操作 を実行できます。
このエンドポイントはプロデューサーのみをサポートします。
エンドポイント URI のホスト部分はシンボリックエンドポイント ID で、これはいずれの目的では使用されません。
エンドポイントは、IN メッセージのボディーに Compute ジョブとして渡されたオブジェクトの実行を試みます。実行タイプによっては、異なるペイロードタイプを想定します。
148.1. オプション リンクのコピーリンクがクリップボードにコピーされました!
Ignite Compute コンポーネントは、以下に示す 4 つのオプションをサポートします。
Name | 説明 | デフォルト | Type |
---|---|---|---|
ignite (producer) | Ignite インスタンスを設定します。 | ignite | |
configurationResource (producer) | 設定の読み込み元となるリソースを設定します。URI、String(URI)、または InputStream を指定できます。 | オブジェクト | |
igniteConfiguration (producer) | ユーザーがプログラムによる IgniteConfiguration を設定できるようにします。 | IgniteConfiguration | |
resolveProperty Placeholders (advanced) | 起動時にコンポーネント自体がプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。 | true | boolean |
Ignite Compute エンドポイントは、URI 構文を使用して設定します。
ignite-compute:endpointId
ignite-compute:endpointId
以下の path パラメーターおよびクエリーパラメーターを使用します。
148.1.1. パスパラメーター(1 パラメーター): リンクのコピーリンクがクリップボードにコピーされました!
Name | 説明 | デフォルト | Type |
---|---|---|---|
endpointId | 必要な エンドポイント ID(不使用)。 | 文字列 |
148.1.2. クエリーパラメーター(8 パラメーター): リンクのコピーリンクがクリップボードにコピーされました!
Name | 説明 | デフォルト | Type |
---|---|---|---|
clusterGroupExpression (producer) | IgniteCompute インスタンスのクラスターグループを返す式。 | ClusterGroupExpression | |
computeName (producer) | リンク IgniteComputewithName(String)で設定されるコンピュートジョブの名前。 | 文字列 | |
executionType (producer) | 実行するコンピュート操作が 必要です。使用できる値は、CALL、BROADCAST、APPLY、EXECUTE、RUN、AFFINITY_CALL、AFFINITY_RUN です。コンポーネントは、操作に応じて異なるペイロードタイプを想定します。 | IgniteComputeExecution Type | |
propagateIncomingBodyIfNo ReturnValue (producer) | 基礎となる Ignite 操作の戻り値タイプが void の場合には、受信ボディーを伝播するかどうかを設定します。 | true | boolean |
taskName (producer) | タスク名。リンク IgniteComputeExecutionTypeEXECUTE 実行タイプを使用している場合にのみ該当します。 | 文字列 | |
timeoutMillis (producer) | トリガーされたジョブのタイムアウト間隔(ミリ秒単位)。リンク IgniteComputewithTimeout(long)で設定されます。 | Long | |
treatCollectionsAsCache Objects (producer) | コレクションをキャッシュオブジェクトとして処理するか、または挿入/更新/コンピュートなどを行う項目のコレクションとして処理するかどうかを設定します。 | false | boolean |
同期 (詳細) | 同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。 | false | boolean |
148.1.3. 予想されるペイロードタイプ リンクのコピーリンクがクリップボードにコピーされました!
各操作には、指定されたタイプが必要です。
操作 | 予想されるペイロード |
---|---|
CALL | IgniteCallable または単一の IgniteCallable のコレクション。 |
BROADCAST | IgniteCallable, IgniteRunnable, IgniteClosure. |
APPLY | IgniteClosure. |
実行 | ComputeTask、Class<? は、taskName オプションが null でない場合にパラメーターを表すオブジェクトを拡張します。 |
実行 | IgniteRunnables または単一の IgniteRunnables のコレクション。 |
AFFINITY_CALL | IgniteCallable. |
AFFINITY_RUN | IgniteRunnable. |
148.1.4. 使用されるヘッダー リンクのコピーリンクがクリップボードにコピーされました!
このエンドポイントは、以下のヘッダーを使用します。
ヘッダー名 | Constant | 想定されるタイプ | 説明 |
---|---|---|---|
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 | 文字列 | AFFINITY_CALL および AFFINITY_RUN 操作のアフィニティーキャッシュ名。 |
CamelIgniteComputeAffinityKey | IgniteConstants.IGNITE_COMPUTE_AFFINITY_KEY | オブジェクト | AFFINITY_CALL および AFFINITY_RUN 操作のアフィニティーキー。 |