第155章 Ignite Cache コンポーネント

Camel バージョン 2.17 以降で利用可能

Ignite Cache エンドポイントは、Ignite Cache との対話を可能にする camel-ignite エンドポイントの 1 つです。これにより、プロデューサー (Ignite キャッシュでキャッシュ操作を呼び出すため) とコンシューマー (継続的なクエリーからの変更を使用するため) の両方が提供されます。

キャッシュ値は常にメッセージのボディーですが、キャッシュキーは常に IgniteConstants.IGNITE_CACHE_KEY メッセージヘッダーに格納されます。

エンドポイント URI で固定操作を設定する場合でも、IgniteConstants.IGNITE_CACHE_OPERATION メッセージヘッダーを設定することでエクスチェンジごとに変更できます。

155.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

パスおよびクエリーパラメーターを使用します。

155.1.1. パスパラメーター (1 個のパラメーター):

名前説明デフォルトタイプ

cacheName

必須 キャッシュ名。

 

String

155.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)

実行するクエリー。それを必要とする操作と、連続クエリーコンシューマーにのみ必要です。

 

Query

remoteFilter (consumer)

連続クエリーコンシューマーによってのみ使用されるリモートフィルター。

 

CacheEntryEvent SerializableFilter

timeInterval (consumer)

連続クエリーコンシューマーの時間間隔。

0

long

exceptionHandler (consumer)

コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

 

ExceptionHandler

exchangePattern (consumer)

コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。

 

ExchangePattern

cachePeekMode (producer)

CachePeekMode は、それを必要とする操作にのみ必要です (IgniteCacheOperation#SIZE)。

ALL

CachePeekMode

failIfInexistentCache (producer)

キャッシュが存在しない場合に初期化を失敗させるかどうか。

false

boolean

operation (producer)

呼び出すキャッシュ操作。設定可能な値: GET、PUT、REMOVE、SIZE、REBALANCE、QUERY、CLEAR。

 

IgniteCacheOperation

synchronous (advanced)

同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。

false

boolean