検索

第147章 ignite Cache コンポーネント

download PDF

Camel バージョン 2.17 から利用可能

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

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

エンドポイント URI で固定操作を設定していても、IgniteConstants.IGNITE_CACHE_OPERATION メッセージヘッダーを設定することで、交換ごとに異なる場合があります。

147.1. オプション

Ignite Cache コンポーネントは、以下に示す 4 つのオプションをサポートします。

Name説明デフォルトType

ignite (common)

Ignite インスタンスを設定します。

 

ignite

configurationResource (common)

設定の読み込み元となるリソースを設定します。URI、String(URI)、または InputStream を指定できます。

 

オブジェクト

igniteConfiguration (common)

ユーザーがプログラムによる IgniteConfiguration を設定できるようにします。

 

IgniteConfiguration

resolveProperty Placeholders (advanced)

起動時にコンポーネント自体がプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。

true

boolean

Ignite Cache エンドポイントは、URI 構文を使用して設定します。

ignite-cache:cacheName

以下の path パラメーターおよびクエリーパラメーターを使用します。

147.1.1. パスパラメーター(1 パラメーター):

Name説明デフォルトType

cacheName

必須。キャッシュ名。

 

文字列

147.1.2. クエリーパラメーター(16 パラメーター):

Name説明デフォルトType

propagateIncomingBodyIfNo ReturnValue (common)

基礎となる Ignite 操作の戻り値タイプが void の場合には、受信ボディーを伝播するかどうかを設定します。

true

boolean

treatCollectionsAsCache オブジェクト (共通)

コレクションをキャッシュオブジェクトとして処理するか、または挿入/更新/コンピュートなどを行う項目のコレクションとして処理するかどうかを設定します。

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 つのバッチで複数の更新が受信された場合でも、個別の Exchange で各更新をパッケージ化するかどうか。継続的なクエリーコンシューマーによってのみ使用されます。

true

boolean

pageSize (consumer)

ページサイズ。継続的なクエリーコンシューマーによってのみ使用されます。

1

int

クエリー (コンシューマー)

実行する Query は、これを必要とする操作および Continuous 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

操作 (プロデューサー)

呼び出すキャッシュ操作。使用できる値は GET、PUT、REMOVE、SIZE、REBALANCE、QUERY、CLEAR です。

 

IgniteCacheOperation

同期 (詳細)

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

false

boolean

147.1.3. 使用されるヘッダー

このエンドポイントは、以下のヘッダーを使用します。

ヘッダー名Constant想定されるタイプ説明

CamelIgniteCacheKey

IgniteConstants.IGNITE_CACHE_KEY

文字列

メッセージボディーのエントリー値のキャッシュキー。

CamelIgniteCacheQuery

IgniteConstants.IGNITE_CACHE_QUERY

クエリー

QUERY 操作の呼び出し時に実行するクエリー(プロデューサー)。

CamelIgniteCacheOperation

IgniteConstants.IGNITE_CACHE_OPERATION

IgniteCacheOperation enum

キャッシュ操作を動的に変更して実行する(producer)ことができます。

CamelIgniteCachePeekMode

IgniteConstants.IGNITE_CACHE_PEEK_MODE

CachePeekMode enum

SIZE 操作の実行時にキャッシュ peek モードを動的に変更できます。

CamelIgniteCacheEventType

IgniteConstants.IGNITE_CACHE_EVENT_TYPE

int(EventType constants)

このヘッダーには、継続的なクエリーコンシューマーを使用する場合に受信したイベントタイプが含まれます。

CamelIgniteCacheName

IgniteConstants.IGNITE_CACHE_NAME

文字列

このヘッダーには、継続的なクエリーイベントが受信されたキャッシュ名(コンシューマー)があります。プロデューサー操作を実行するキャッシュを動的に変更することはできません。このために EIP を使用します(受信者リスト、動的ルーターなど)。

CamelIgniteCacheOldValue

IgniteConstants.IGNITE_CACHE_OLD_VALUE

オブジェクト

このヘッダーには、受信キャッシュイベント(コンシューマー)に渡されると古いキャッシュ値が含まれます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.