10.4. Claim Check EIP
Claim Check EIP リンクのコピーリンクがクリップボードにコピーされました!
図10.4「Claim Check パターン」 に記載されている Claim Check EIP パターンでは 、メッセージコンテンツをクレームチェック (一意の鍵) に置き換えることができます。Claim Check EIP パターンを使用して、後でメッセージコンテンツを取得します。メッセージコンテンツは、一時的にデータベースやファイルシステムなどの永続ストアに格納できます。このパターンは、メッセージコンテンツが非常に大きく (送信するに高価)、すべてのコンポーネントにすべての情報が必要でない場合に役立ちます。
また、外部の情報で信頼できない場合にも便利です。この場合、Claim Check を使用してデータの機密部分を非表示にします。
EIP パターンの Camel 実装は、メッセージコンテンツを内部メモリーストアに一時的に格納します。
図10.4 Claim Check パターン
10.4.1. Claim Check EIP オプション リンクのコピーリンクがクリップボードにコピーされました!
Claim Check EIP は、以下の表に記載されているオプションをサポートしています。
| 名前 | 説明 | デフォルト | 型 |
| operation | Claim Check 操作を使用する必要があります。以下の操作をサポートします。
*
*
*
*
*
| ClaimCheckOperation | |
| key | Claim Check ID に特定のキーを使用します。 | String | |
| filter | Claim Check リポジトリーからマージするデータを制御するフィルターを指定します。 | String | |
| strategyRef |
デフォルトの実装の代わりにカスタム | String |
フィルターオプション リンクのコピーリンクがクリップボードにコピーされました!
Filter オプションを使用して、Get または Pop の操作を使用する場合にマージして戻すデータを定義します。AggregationStrategy を使用してデータをマージして戻します。デフォルトのストラテジーでは、filter オプションを使用して、マージするデータを簡単に指定します。
filter オプションは、以下の構文を持つ String 値を取ります。
-
body: メッセージボディーを集約します。 -
attachments: すべてのメッセージ添付を集約します。 -
headers: すべてのメッセージヘッダーを集約します。 -
header:pattern: パターンに一致するすべてのメッセージヘッダーを集約します。
パターンルールはワイルドカードおよび正規表現をサポートします。
-
ワイルドカードの一致 (パターンが
*で終わり、名前がパターンで始まります) - 正規表現の一致
複数のルールを指定するには、commas (,) で区切ります。
以下は、メッセージボディーおよび foo で始まるすべてのヘッダーを含む基本的なフィルターの例です。
body, header:foo*
body, header:foo*
-
メッセージのボディーのみをマージする場合:
body -
メッセージの添付のみをマージする場合:
attachments -
ヘッダーのみをマージする場合:
headers -
ヘッダー名
fooのみをマージする場合:header:foo
フィルタールールを空またはワイルドカードとして指定すると、すべてをマージできます。詳細は、Filter what data to merge back を参照してください。
データをマージすると、システムは既存のデータを上書きします。また、既存のデータを格納します。