第147章 Ignite Cache コンポーネント
Camel バージョン 2.17 以降で利用可能
Ignite Cache エンドポイントは、Ignite Cache との対話を可能にする camel-ignite エンドポイントの 1 つです。これにより、プロデューサー (Ignite キャッシュでキャッシュ操作を呼び出すため) とコンシューマー (継続的なクエリーからの変更を使用するため) の両方が提供されます。
			キャッシュ値は常にメッセージのボディーですが、キャッシュキーは常に IgniteConstants.IGNITE_CACHE_KEY メッセージヘッダーに格納されます。
		
			エンドポイント URI で固定操作を設定する場合でも、IgniteConstants.IGNITE_CACHE_OPERATION メッセージヘッダーを設定することでエクスチェンジごとに変更できます。
		
147.1. オプション リンクのコピーリンクがクリップボードにコピーされました!
Ignite Cache コンポーネントは、以下に示す 4 個のオプションをサポートしています。
| 名前 | 説明 | デフォルト | タイプ | 
|---|---|---|---|
|   ignite (Common)  |   Ignite インスタンスを設定します。  |   Ignite  | |
|   configurationResource (Common)  |   設定をロードするリソースを設定します。URI、文字列 (URI)、または InputStream のいずれかです。  |   Object  | |
|   igniteConfiguration (Common)  |   ユーザーがプログラムによる IgniteConfiguration を設定できるようにします。  |   IgniteConfiguration  | |
|   resolveProperty Placeholders (advanced)  |   起動時にコンポーネントがプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。  |   true  |   boolean  | 
Ignite Cache エンドポイントは、URI 構文を使用して設定されます。
ignite-cache:cacheName
ignite-cache:cacheName
パスおよびクエリーパラメーターを使用します。
147.1.1. パスパラメーター (1 個のパラメーター): リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 | デフォルト | タイプ | 
|---|---|---|---|
|   cacheName  |   必須 キャッシュ名。  |   String  | 
147.1.2. クエリーパラメーター (16 個のパラメーター): リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 | デフォルト | タイプ | 
|---|---|---|---|
|   propagateIncomingBodyIfNo ReturnValue (Common)  |   基になる Ignite 操作の戻り値の型が void の場合に、入力ボディーを伝播するかどうかを設定します。  |   true  |   boolean  | 
|   treatCollectionsAsCache Objects (Common)  |   コレクションをキャッシュオブジェクトとして扱うか、アイテムのコレクションとして扱うかを設定し、挿入/更新/計算などを行います。  |   false  |   boolean  | 
|   autoUnsubscribe (consumer)  |   連続クエリーコンシューマーで自動サブスクライブ解除が有効になっているかどうか。  |   true  |   boolean  | 
|   bridgeErrorHandler (consumer)  |   コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。  |   false  |   boolean  | 
|   fireExistingQueryResults (consumer)  |   クエリーに一致する既存の結果を処理するかどうか。連続クエリーコンシューマーの初期化で使用されます。  |   false  |   boolean  | 
|   oneExchangePerUpdate (consumer)  |   複数の更新が 1 つのバッチで受信された場合でも、各更新を個別のエクスチェンジにパックするかどうか。連続クエリーコンシューマーによってのみ使用されます。  |   true  |   boolean  | 
|   pageSize (consumer)  |   ページサイズ。連続クエリーコンシューマーによってのみ使用されます。  |   1  |   int  | 
|   query (consumer)  |   実行するクエリー。それを必要とする操作と、連続クエリーコンシューマーにのみ必要です。  |   Object>>  | |
|   remoteFilter (consumer)  |   連続クエリーコンシューマーによってのみ使用されるリモートフィルター。  |   Object>  | |
|   timeInterval (consumer)  |   連続クエリーコンシューマーの時間間隔。  |   0  |   long  | 
|   exceptionHandler (consumer)  |   コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。  |   ExceptionHandler  | |
|   exchangePattern (consumer)  |   コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。  |   ExchangePattern  | |
|   cachePeekMode (producer)  |   CachePeekMode は、それを必要とする操作にのみ必要です (リンク IgniteCacheOperationSIZE)。  |   ALL  |   CachePeekMode  | 
|   failIfInexistentCache (producer)  |   キャッシュが存在しない場合に初期化を失敗させるかどうか。  |   false  |   boolean  | 
|   operation (producer)  |   呼び出すキャッシュ操作。設定可能な値: GET、PUT、REMOVE、SIZE、REBALANCE、QUERY、CLEAR。  |   IgniteCacheOperation  | |
|   synchronous (advanced)  |   同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。  |   false  |   boolean  | 
147.1.3. 使用されるヘッダー リンクのコピーリンクがクリップボードにコピーされました!
このエンドポイントは、次のヘッダーを使用します。
| ヘッダー名 | 定数 | 想定されるタイプ | 説明 | 
|---|---|---|---|
|   CamelIgniteCacheKey  |   IgniteConstants.IGNITE_CACHE_KEY  |   String  |   メッセージ本文のエントリー値のキャッシュキー。  | 
|   CamelIgniteCacheQuery  |   IgniteConstants.IGNITE_CACHE_QUERY  |   Query  |   QUERY 操作を呼び出すときに実行する (プロデューサー) クエリー。  | 
|   CamelIgniteCacheOperation  |   IgniteConstants.IGNITE_CACHE_OPERATION  |   IgniteCacheOperation 列挙  |   実行するキャッシュ操作を動的に変更できます (プロデューサー)。  | 
|   CamelIgniteCachePeekMode  |   IgniteConstants.IGNITE_CACHE_PEEK_MODE  |   CachePeekMode enum  |   SIZE 操作の実行時にキャッシュピークモードを動的に変更できます。  | 
|   CamelIgniteCacheEventType  |   IgniteConstants.IGNITE_CACHE_EVENT_TYPE  |   int (EventType 定数)  |   このヘッダーは、連続クエリーコンシューマーを使用する場合に受信したイベントタイプを伝達します。  | 
|   CamelIgniteCacheName  |   IgniteConstants.IGNITE_CACHE_NAME  |   String  |   このヘッダーには、連続クエリーイベントを受信したキャッシュ名 (consumer) が含まれます。プロデューサー操作が実行されるキャッシュを動的に変更することはできません。そのためには EIP を使用します (受信者リスト、動的ルーターなど)。  | 
|   CamelIgniteCacheOldValue  |   IgniteConstants.IGNITE_CACHE_OLD_VALUE  |   Object  |   このヘッダーは、入力キャッシュイベント (consumer) で渡されるときに、古いキャッシュ値を保持します。  |