第151章 ignite Messaging Component
Camel バージョン 2.17 から利用可能
Ignite Messaging エンドポイントは camel-ignite エンドポイントの 1 つで、Ignite トピック からメッセージを送受信できます。
このエンドポイントは、プロデューサー(メッセージの送信)およびコンシューマー(メッセージの受信)をサポートします。
151.1. オプション
Ignite Messaging コンポーネントは、以下に示す 4 つのオプションをサポートします。
Name | 説明 | デフォルト | Type |
---|---|---|---|
ignite (common) | Ignite インスタンスを設定します。 | ignite | |
configurationResource (common) | 設定の読み込み元となるリソースを設定します。URI、String(URI)、または InputStream を指定できます。 | オブジェクト | |
igniteConfiguration (common) | ユーザーがプログラムによる IgniteConfiguration を設定できるようにします。 | IgniteConfiguration | |
resolveProperty Placeholders (advanced) | 起動時にコンポーネント自体がプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。 | true | boolean |
Ignite Messaging エンドポイントは、URI 構文を使用して設定します。
ignite-messaging:topic
以下の path パラメーターおよびクエリーパラメーターを使用します。
151.1.1. パスパラメーター(1 パラメーター):
Name | 説明 | デフォルト | Type |
---|---|---|---|
topic | 必要な トピック名。 | 文字列 |
151.1.2. クエリーパラメーター(9 パラメーター):
Name | 説明 | デフォルト | Type |
---|---|---|---|
propagateIncomingBodyIfNo ReturnValue (common) | 基礎となる Ignite 操作の戻り値タイプが void の場合には、受信ボディーを伝播するかどうかを設定します。 | true | boolean |
treatCollectionsAsCache オブジェクト (共通) | コレクションをキャッシュオブジェクトとして処理するか、または挿入/更新/コンピュートなどを行う項目のコレクションとして処理するかどうかを設定します。 | false | boolean |
bridgeErrorHandler (consumer) | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean |
exceptionHandler (consumer) | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されていないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | ExceptionHandler | |
exchangePattern (consumer) | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。 | ExchangePattern | |
clusterGroupExpression (producer) | クラスターグループ式。 | ClusterGroupExpression | |
sendMode (producer) | 使用する送信モード。使用できる値は UNORDERED、ORDERED です。 | 順序なし | IgniteMessagingSend Mode |
タイムアウト (プロデューサー) | 順序付けされたメッセージ使用時の送信操作のタイムアウト。 | Long | |
同期 (詳細) | 同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。 | false | boolean |
151.1.3. 使用されるヘッダー
このエンドポイントは、以下のヘッダーを使用します。
ヘッダー名 | Constant | 想定されるタイプ | 説明 |
---|---|---|---|
CamelIgniteMessagingTopic | IgniteConstants.IGNITE_MESSAGING_TOPIC | 文字列 | トピックを動的に変更してメッセージを送信することができます(プロデューサー)。また、メッセージが受信されたトピック(コンシューマー)も行います。 |
CamelIgniteMessagingUUID | IgniteConstants.IGNITE_MESSAGING_UUID | UUID | このヘッダーには、メッセージが到達するとサブスクリプションの UUID が入力されます(コンシューマー)。 |