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


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

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

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

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

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

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

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

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

cacheName

必須 キャッシュ名。

 

String

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

154.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) で渡されるときに、古いキャッシュ値を保持します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.