cAggregateの標準プロパティ
これらのプロパティは、標準ジョブのフレームワークで実行されているcAggregateを設定するために使われます。
Standard cAggregateコンポーネントはRoutingファミリーに属しています。
基本設定
[Language] (言語) |
メッセージのフィルタリングに使う式の言語を以下から選択します: [None] (なし)、Bean、[CONSTANT] (定数)、ESBCorrelationID、EL、GROOVY、[HEADER] (ヘッダー)、JAVASCRIPT、JoSQL、JSonPath、JXPATH、MVEL、OGNL、PHP、[PROPERTY] (プロパティ)、Python、RUBY、SIMPLE、SpEL、SQL、XPATH、XQERY。 このコンポーネントに接続されている最も近いcSOAPでコリレーションIDが利用可能な場合、メッセージの既存のコリレーションIDをコリレーションキーとして使うには、CorrelationIDを選択します。cSOAPコンポーネントの詳細は、cSOAPをご覧ください。 |
[Correlation expression/Expression] (コリレーション式/式) |
集計に使うコリレーションキーを評価する式を入力します。 このフィールドは、[Language] (言語)リストでCorrelationIDを選択すると非表示になります。この場合、このコンポーネントに接続されている最も近いcSOAPからの既存のコリレーションIDが使われます。cSOAPコンポーネントの詳細は、cSOAPをご覧ください。 |
[Correlation expression/Add Namespaces] (コリレーション式/ネームスペースを追加) |
このオプションは、[Language] (言語)リストでXPathが選択されている場合に表示されます。 Xpath式のネームスペースを追加するには、このチェックボックスをオンにします。[+]をクリックして必要な数のネームスペースをテーブルに追加し、対応するカラムにプレフィックスとURIを定義します。 |
[Strategy] (戦略) |
集計戦略として使うためにJava Beanを指定します。 |
[Completion conditions/Number of messages] (完了条件/メッセージ数) |
このチェックボックスをオンにして、集計が完了する前にバッチごとに集計するメッセージの数を指定します。 情報メモ注:
デフォルトでは、このチェックボックスは選択されており、メッセージ数は3に設定されています。このチェックボックスをオフにし、他の4つの完了条件の少なくとも1つが満たされた場合、取得されたすべてのメッセージが1つのバッチに集計されます。 |
[Completion conditions/Inactivity timeout (in milliseconds)] (完了条件/非アクティブタイムアウト(ミリ秒)) |
集計された交換が完了する前に非アクティブにする必要がある時間(ミリ秒単位)を指定するには、このチェックボックスをオンにします。このオプションは、固定値として、またはタイムアウトを動的に評価できる式を使って設定できます。 情報メモ注:
このオプションは[Scheduled interval] (スケジュール済みインターバル)と併用できません。一度に使えるのはどちらか一方だけです。 |
[Completion conditions/Scheduled interval (in milliseconds)] (完了条件/スケジュールの間隔(ミリ秒)) |
アグリゲーターが現在のすべての集計交換を完了するまでの反復期間(ミリ秒単位)を指定するには、このチェックボックスをオンにします。 情報メモ注:
このオプションは[Inactivity timeout] (不活性タイムアウト)と併用できません。一度に使えるのはどちらか一方だけです。 |
[Completion conditions/Predicate matched] (完了条件/述語の一致) |
このチェックボックスをオンにして、集計された交換がいつ完了するかを示す述語を指定します。 |
[Completion conditions/Batch consumer] (完了条件/バッチコンシューマー) |
特定のポーリングでファイルエンドポイントから消費されたすべてのファイルを集計するには、このチェックボックスをオンにします。 |
詳細設定
[Check completion before aggregating] (集計前に完了状況をチェック) |
新しい着信交換を受信した時に完了を確認するには、このチェックボックスをオンにします。このオプションは、渡される交換がそれに応じて変化するため、[Predicate matched] (述語の一致)オプションの動作に影響します。このオプションが無効になっている場合、述語で渡される交換は[aggregated交換です。つまり、集計戦略から集計交換に保管できる情報は、述語で利用できます。このオプションを有効にすると、述語に渡される交換はincoming交換です。これは、受信交換からデータにアクセスできることを意味します。 |
[Close correlation group] (コリレーショングループを閉じる) |
このチェックボックスをオンにすると、コリレーションキーが既に完了している場合、同じコリレーションキーを持つ新しい交換はすべて拒否されます。このオプションを使う場合は、[Maximum bound] (最大範囲)フィールドに数値を入力して、閉じたコリレーションキーの最後の数を保持します。 |
[Ignore invalid correlation key] (無効なコリレーションキーを無視) |
このチェックボックスをオンにすると、値に評価できなかった無効なコリレーションキーが無視されます。デフォルトでは、Camelは無効なコリレーションキーに遭遇すると例外を返します。 |
[Group arriving exchange] (受信する交換をグルーピング) |
すべての集計された交換を保持する単一の結合ホルダークラスにすべての集計された交換をグルーピングするには、このチェックボックスをオンにします。その結果、アグリゲーターから送信される交換は1つだけになります。このオプションを使うと、多くの受信交換を組み合わせて単一の出力交換にできます。 |
[Use persistence] (永続化の使用) |
このチェックボックスをオンにすると、現在処理中の集計交換を追跡するリポジトリーの独自の実装がプラグインされます。デフォルトでは、Camelはメモリベースの実装を使います。 |
リポジトリー |
このフィールドは、[Use persistence] (永続化の使用)チェックボックスがオンの場合に表示されます。リポジトリーはAggregationRepository、HawtDBAggregationRepository、またはRecoverableAggregationRepositoryです。 AggregationRepository: メモリベースの実装であるCamelが使うデフォルトのリポジトリー。フィールドにリポジトリーの名前を入力します。 HawtDBAggregationRepository: HawtDBAggregationRepositoryは、集計されたメッセージをオンザフライで永続化するAggregationRepositoryです。これにより、メッセージが失われることがなくなります。このリポジトリーを選択すると、次のオプションが表示されます。 [Use persistent file] (永続化ファイルの使用): このチェックボックスをオンにすると、集計された交換がファイルに保存されます。[Persistent file] (永続化ファイル)フィールドに、 永続ストレージのファイルの名前を入力します 。起動時にファイルが存在しない場合は作成されます。 [Recovery/Use recovery] (リカバリー/リカバリーの使用): このチェックボックスをオンにすると、失敗した集計交換が復元され、自動的に再送信されます。[Recovery interval] (リカバリーインターバル)フィールドに、失敗した交換をスキャンして回復して再送信する間隔(ミリ秒単位)を入力します。デフォルトでは、この間隔は5000ミリ秒です。[Dead letter channel] (配信不能チャネル)フィールドに、使い果たされた回復済み交換が移動される配信不能チャネルのエンドポイントURIを入力します。[Maximum redeliveries] (最大再配信数)フィールドに、特定の回復した交換の再配信の最大試行回数を入力します。 RecoverableAggregationRepository: RecoverableAggregationRepositoryは、集計されたメッセージをオンザフライで永続化するJDBCベースのAggregationRepositoryです。これにより、メッセージが失われることがなくなります。フィールドにリポジトリーの名前を入力します。 このリポジトリーを選択すると、次のオプションが表示されます。 [Recovery/Use recovery] (リカバリー/リカバリーの使用): このチェックボックスをオンにすると、失敗した集計交換が復元され、自動的に再送信されます。[Recovery interval] (リカバリーインターバル)フィールドに、失敗した交換をスキャンして回復して再送信する間隔(ミリ秒単位)を入力します。デフォルトでは、この間隔は5000ミリ秒です。[Dead letter channel] (配信不能チャネル)フィールドに、使い果たされた回復済み交換が移動される配信不能チャネルのエンドポイントURIを入力します。[Maximum redeliveries] (最大再配信数)フィールドに、特定の回復した交換の再配信の最大試行回数を入力します。 |
使用方法
使用ルール |
cAggregateは、ルート内の中間または終了コンポーネントとして使います。 |
[Connections] (接続) |
[Aggregate] (集計): 選択した集計戦略に従ってメッセージを次のエンドポイントにルーティングするには、このリンクを選択します。 [Route] (ルート): すべてのメッセージを送信元から次のエンドポイントにルーティングするには、このリンクを選択します。 |